我正在用Swift制作音板。它工作得很好,但我试图阻止检查AVAudioPlayer实例是否正在播放,如果是则停止播放。声音被列在一个tableview中,它从我存储我的Sound类的数组中获取数据(它有2个变量,标题和声音的URL)。快速检查AVAudioPlayer是否正在播放崩溃
我有我的AVAudioPlayer和AVAudioSession以及我的声音阵列上我的ViewController类:
var session = AVAudioSession.sharedInstance()
var audioPlayer = AVAudioPlayer()
var sounds: [Sound] = []
,我实现了音频播放,当应用程序用户选择一排这样的:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if audioPlayer.playing {
audioPlayer.stop()
} else {
var sound = self.sounds[indexPath.row]
var baseString : String = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0] as String
var pathComponents = [baseString, sound.url]
var audioNSURL = NSURL.fileURLWithPathComponents(pathComponents)
self.audioPlayer = AVAudioPlayer(contentsOfURL: audioNSURL, error: nil)
self.audioPlayer.play()
}
tableView.deselectRowAtIndexPath(indexPath, animated: true)
}
但是当我点击应用程序崩溃行和所有我得到的是“(LLDB)”
你有任何想法发生了什么事?还是我这样做完全错了?
预先感谢您