2013-02-07 69 views
2

我在一個循環中播放聲音文件,每次循環從頭開始時都需要重新啓動動畫。如何在AVAudioPlayer循環回到開頭時收到通知?

我在文檔中找不到委託方法。有什麼方法可以讓玩家在開始時循環播放?

我的方法是使用一個計時器,每隔幾毫秒檢查當前的播放時間,但這聽起來像是一個可怕的解決方案。

回答

0

您可以爲avaudioplayer實例設置一個delegate。然後,只要聲音成功完成播放,代表就會收到通知。然後,您可以重新啓動播放器再次播放並重新開始動畫。就在我頭頂。看here欲知更多信息。

+0

AVAudioPlayer可以在沒有委託的幫助下自動循環。這是一個簡單的循環屬性。沒有嘗試檢查完成的播放方法是否被調用。我認爲這不是因爲它在循環播放時仍然播放。 – openfrog

0

不,AFAIK你的解決方案是唯一的工作。完成播放方法不會在循環時調用,因此採樣位置是唯一的技術。

我正在更新一些繼承的代碼來添加循環,並在iOS8下得出這個結論。