2015-09-25 34 views
1

我只是將新的ReplayKit加入我的iOS遊戲中,並試圖用startRecordingWithMicrophoneEnabled開始記錄。然而,遊戲的背景音樂,通過AVAudioPlayer,將在1秒或2秒後死亡。我檢查了所有的接口內AVAudioPlayerDelegate但這些都不被觸發:iOS 9 ReplayKit隨機殺掉AVAudioPlayer

audioPlayerDidFinishPlaying 
audioPlayerBeginInterruption 
audioPlayerEndInterruption 

沒有任何人有這個想法?

回答

1

不知道原因,但找到了散步。

我不能說出其中的原因,但似乎工作AVAudioPlayer實例將成爲無效狀態,而不觸發AVAudioPlayerDelegate的任何接口。那麼簡單地調用pause/resume就沒用了。

我曾嘗試是殺死工作AVAudioPlayer實例,並創建一個新的在兩個startRecordingWithMicrophoneEnabledstopRecordingWithHandler的回調再次播放同樣的音樂。

音樂可能會暫停幾毫秒,但它比靜音好。

+0

你能顯示代碼嗎? – Viper

+0

@Viper代碼非常簡單:將舊的'AVAudioPlayer'實例設置爲'nil',然後將[[AVAudioPlayer alloc] init]'一個新實例。也許你需要保存AVAudioPlayer的'currentTime'並將其設置回新的實例。 – jayatubi