使用 NSBundle Audioplayer 找到 nil-optional 值
Found nil-optional value with NSBundle Audioplayer
当我初始化一个 AVAudio 播放器时,我收到一个 found nil 错误。
音乐文件包含在名为 'Sounds'.
的文件夹中
fatal error: unexpectedly found nil while unwrapping an Optional Value
//Code
// instance
var player : AVAudioPlayer = AVAudioPlayer();
// ciews
override func viewDidLoad() {
super.viewDidLoad()
// SET UP AUDIO PLAYER AND PLAY A SOUND
var filePath = NSString(string: NSBundle.mainBundle().pathForResource("Sounds/pig", ofType: "mp3")!);
var error:NSError? = nil; // craete error pointer with ampersand &
// EXCEPTION THROWN HERE
player = AVAudioPlayer(contentsOfURL: NSURL(string: filePath), error: &error);
感谢任何意见
问题在于它是一个本地文件,所以使用 fileURLWithPath: 而不是字符串:(用于链接)会起作用,但您可以使用 URLForResource(_:withExtension:) 而不是 pathForResource 一步完成:
let fileUrl = NSBundle.mainBundle().URLForResource("Sounds/pig", withExtension: "mp3")!
player = AVAudioPlayer(contentsOfURL: fileUrl, error: &error)
当我初始化一个 AVAudio 播放器时,我收到一个 found nil 错误。 音乐文件包含在名为 'Sounds'.
的文件夹中fatal error: unexpectedly found nil while unwrapping an Optional Value
//Code
// instance
var player : AVAudioPlayer = AVAudioPlayer();
// ciews
override func viewDidLoad() {
super.viewDidLoad()
// SET UP AUDIO PLAYER AND PLAY A SOUND
var filePath = NSString(string: NSBundle.mainBundle().pathForResource("Sounds/pig", ofType: "mp3")!);
var error:NSError? = nil; // craete error pointer with ampersand &
// EXCEPTION THROWN HERE
player = AVAudioPlayer(contentsOfURL: NSURL(string: filePath), error: &error);
感谢任何意见
问题在于它是一个本地文件,所以使用 fileURLWithPath: 而不是字符串:(用于链接)会起作用,但您可以使用 URLForResource(_:withExtension:) 而不是 pathForResource 一步完成:
let fileUrl = NSBundle.mainBundle().URLForResource("Sounds/pig", withExtension: "mp3")!
player = AVAudioPlayer(contentsOfURL: fileUrl, error: &error)