1
我一直在試圖找出一種方法來暫停我的音頻與一個按鈕(很簡單,只需點擊backgroundMusic.stop()),但它不會暫停。使用下面的代碼的想法是,它從應用程序的開始運行,但是當我再次加載場景時,它不會在前一軌道上播放。下面所有的代碼都是在每次加載場景時都打印'play',並且我得到了多個音軌互相播放,所以它似乎無法檢測到音頻是否播放。這是我第一次在xcode中使用音頻,所以我不熟悉它。我使用的Xcode 7.0.1和斯威夫特2爲什麼我的AVAudioPlayer無法檢測它是否在播放?
在我的視圖控制器類,但超出了我的viewDidLoad:
func setupAudioPlayerWithFile(file:NSString, type:NSString) -> AVAudioPlayer? {
//1
let path = NSBundle.mainBundle().pathForResource(file as String, ofType: type as String)
let url = NSURL.fileURLWithPath(path!)
//2
var audioPlayer:AVAudioPlayer?
// 3
do {
try audioPlayer = AVAudioPlayer(contentsOfURL: url)
} catch {
print("Player not available")
}
return audioPlayer
}
在我viewDidLoad中:
if let backgroundMusic = self.setupAudioPlayerWithFile("Kawai Kitsune", type:"mp3") {
self.backgroundMusic = backgroundMusic
}
if backgroundMusic != nil {
if backgroundMusic?.playing == false{
backgroundMusic?.volume = 0.1
backgroundMusic?.play()
print("play")
}
else {
print("playing")
}
}
非常感謝你爲你的快速反應!爲了澄清,你說我需要把我的第二代代碼放在我的viewDidLoad之外。如果是這樣,當應用程序打開時我該如何播放音頻? @Abhinav – CoolPenguin
爲你工作@CoolPenguin – Abhinav
真的很抱歉,我無法連接到互聯網一段時間。我嘗試了你所做的(複製和粘貼,顯然將audioplayer更改爲backgroundMusic),但它仍然只是說'播放',音頻互相播放。 @Abhinav – CoolPenguin