Xcode9學習筆記65 - 實現音樂的背景播放功能


import UIKit
import AVFoundation//引入流媒體基礎框架,它能收集各種多媒體數據,這些數據可以來自不同的輸入設備,比如攝像機、錄音機等

class ViewController: UIViewController {
    
    var audioPlayer:AVAudioPlayer = AVAudioPlayer()//初始化音頻播放對象,並將音頻播放對象作爲視圖控制器類的屬性

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        //獲得音頻會話對象,該對象屬於單例模式,也就是說不用開發者而自行實例化,這個類在各種音頻環境中,起着非常重要的作用
        let session = AVAudioSession.sharedInstance()
        
        do {//在音頻播放前,首先創建一個異常捕捉語句
            try session.setActive(true)//啓動音頻會話管理,此時會阻斷後臺音樂的播放
            try session.setCategory(AVAudioSessionCategoryPlayback)//設置音頻操作類別,表示該應用僅支持音頻的播放
            UIApplication.shared.beginReceivingRemoteControlEvents()//設置應用程序支持接受遠程控制事件
            
            let path = Bundle.main.path(forResource: "MarryYou", ofType: "mp3")//定義一個字符串常量,描述聲音文件的路徑
            let soundUrl = URL(fileURLWithPath: path!)//將字符串路徑轉換成網址路徑
            
            try audioPlayer = AVAudioPlayer(contentsOf: soundUrl)//對音頻播放對象進行初始化,並加載指定的音頻文件
            audioPlayer.prepareToPlay()//爲音頻播放做好準備
            audioPlayer.volume = 1.0//設置音頻播放對象的音量大小
            audioPlayer.numberOfLoops = -1//設置音頻播放次數,-1爲無線循環播放
            audioPlayer.play()
        } catch {
            print(error)
        }
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}


發佈了95 篇原創文章 · 獲贊 4 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章