2015-10-01 125 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