2015-10-01 52 views
0

當前代碼:問題播放音頻與AVAudioSession

@IBAction func sound1(sender: UIButton) 
{ 
    var sound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Sound1", ofType: "wav")!) 

    do { 
     try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) 
    } catch _ { 
    } 
    do { 
     try AVAudioSession.sharedInstance().setActive(true) 
    } catch _ { 
    } 

    var error: NSError? 
    do { 
     audioPlayer = try AVAudioPlayer(contentsOfURL: sound) 
    } catch var error1 as NSError { 
     error = error1 
     audioPlayer = nil 
    } 
    audioPlayer.prepareToPlay() 
    audioPlayer.volume = 1 
    audioPlayer.play() 
} 

這是當前的代碼,我這個項目更新到斯威夫特2

audioPlayer = nil 

試圖運行應用程序時,我得到這個問題之前,有是這樣的:

不能鍵入「NilLiteralConvertible」的值賦給類型的值「AVAudioPlayer」

回答

1

這意味着您的變量audioplayer不是可選的,因此不能設置爲nil

要麼使它成爲一個可選然後用try?使用(注意?do catch,或者如果你想繼續使用trydo catch不要試圖將其設置爲nil