使用AVPlayer在Swift中播放音频文件

问题描述:

我有一个使用AVPlayer在Swift中播放mp3音频文件的非常简单的方法。使用AVPlayer在Swift中播放音频文件

问题是,它看起来太简单了。例如,在播放出现问题的情况下,文件问题(设备音频问题),播放如何优雅地失败而不是应用程序崩溃?

或者下面的回放代码安全吗?

import UIKit 

import AVFoundation 

var audioPlayer:AVPlayer! 

class ViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     audioPlayer = AVPlayer(URL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("myResourceFileName", ofType: "mp3")!)) 
     audioPlayer.play() 

    } 

} 
+1

使用if let语句测试pathForResource。不要强行拆包。 – pedrouan

你为什么不尝试“做”和“抓”?

do {let path = NSBundle.mainBundle().pathForResource("myResourceFileName", ofType: "mp3") 
    let soundUrl = NSURL(fileURLWithPath: path!) 
    try audioPlayer = AVAudioPlayer(contentsOfURL: soundUrl) 
     audioPlayer.prepareToPlay()    
    } catch let err as NSError { 
     print(err.debugDescription) 
    } 

,并放置 audioPlayer.play() 在您想要播放的功能。