说我有一个歌曲列表。我基本上希望我的应用程序从列表中选择一首随机歌曲,播放它,当它完成时,选择另一首随机歌曲,播放该歌曲等等。
这就是我目前正在尝试的事情:
我是AVAudioPlayer的代表。我使用audioPlayerDidFinishPlaying函数来跟踪歌曲何时完成。当调用此函数时,我最好选择一首新歌来播放。但是,问题在于无法为AVAudioPlayer分配新歌。
我也尝试过调查AVQueuePlayer,它可以分配一首新歌,但是它没有audioPlayerDidFinishPlaying功能。
有人能指出我正确的方向吗?
答案 0 :(得分:0)
<强>一个。您可以通过以下方式准备播放列表:
var Player1 = AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("1", ofType: "mp3")!), error: nil)
var sound1 = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("1", ofType: "mp3")!)
var sound2 = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("2", ofType: "mp3")!)
var sound3 = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("3", ofType: "mp3")!)
var sound4 = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("4", ofType: "mp3")!)
Player1.prepareToPlay()
Player1.play()
<强>一个。当你的事件“audioPlayerDidFinishPlaying”被触发时:
Player1 = AVAudioPlayer(contentsOfURL: sound2, error: nil)
Player1.prepareToPlay()
Player1.play()
<强>湾或者您可以在进行更改之前准备好曲目:
var sound2 = AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("2", ofType: "mp3")!), error: nil).prepareToPlay()
<强>湾当你的事件“audioPlayerDidFinishPlaying”被触发时:
Player1 = sound2
Player1.play()