使用NSBundle Audioplayer找到零可选值

时间:2015-02-10 21:23:09

标签: swift avaudioplayer

当我初始化AVAudio播放器时,我发现nil错误。 音乐文件包含在名为“Sounds”的文件夹中。

  

致命错误:在解开可选值时意外发现nil

//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);

赞赏任何输入

1 个答案:

答案 0 :(得分:2)

问题是它是一个本地文件所以而不是字符串:(用于链接)你使用fileURLWithPath:会工作,但你可以使用URLForResource(_:withExtension :)而不是pathForResource一步完成:< / p>

let fileUrl = NSBundle.mainBundle().URLForResource("Sounds/pig", withExtension: "mp3")!

player =  AVAudioPlayer(contentsOfURL: fileUrl, error: &error)