• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Swift-音频播放

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.简单使用

import UIKit
import AVFoundation

class ViewController: UIViewController {

    lazy var player: AVAudioPlayer? = {
        // 1. 创建播放器(NSURL, 只能是本地URL 地址, 远程音乐, 使用这个类, 播放不了)
        let url = Bundle.main.url(forResource: "简单爱.mp3", withExtension: nil)
       
        do {
            
            let player = try AVAudioPlayer(contentsOf: url!)
            
            player.delegate = self
            
            
            // 设置可以速率播放
            player.enableRate = true
            
            // 准备播放
            player.prepareToPlay()
            // 开始播放
            //player.play()
            return player
            
        }catch {
            print(error)
            return nil
        }
        

    }()
    
    
    func playBack() -> () {
        
        // 1. 获取音频会话
        let audioSession: AVAudioSession = AVAudioSession.sharedInstance()
        
        do {
            // 2. 设置会话类型
            if #available(iOS 10.0, *) {
                try audioSession.setCategory(.playback, mode: .default, options: .defaultToSpeaker)
            } else {
                // Fallback on earlier versions
            }
            
            // 3. 激活会话
            try audioSession.setActive(true)
            
        }catch {
            print(error)
        }
        
        
    }
    
    
    @IBAction func play() {
         playBack()
        player?.play()
        
    }
    @IBAction func pause() {
        
        player?.pause()
        
        
    }
    @IBAction func stop() {
        
        // 重置当前播放事件
        player?.currentTime = 0
        player?.stop()
        
    }
    
    @IBAction func kuaijin() {
        
        // 这个值, 自动会做好容错适配, 不需要我们处理, 负数, 或者, 大于最大播放时长的数值
        player?.currentTime += 15
        
    }
    
    @IBAction func kuaitui() {
        
        player?.currentTime -= 15
        
    }
    
    @IBAction func ratePlay() {
        
        player?.rate = 10.0
        
    }
    
    @IBAction func volumn(sender: UISlider) {
        
        player?.volume = sender.value
        
    }
    

}


extension ViewController: AVAudioPlayerDelegate {
    
    
    func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
        print("播放完成")
    }
    
    
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap