2011-09-16 19 views
1

我使用openCL播放聲音,我注意到呼叫進入後聲音停止運行,我按下「拒絕」。 我能夠追蹤到endInterruption沒有被調用。endInterruption不被稱爲evrytime

問題是這種情況只發生在5次左右,我重複複製。 這意味着我的代碼沒問題,因爲在大多數情況下,它確實會調用endInterruption,但是iOS決定不再調用endInterruption,我不知道爲什麼。

回答

2

檢查您是否從後臺線程調用「play」函數而不是主線程。如果有時您從後臺線程啓動play/playAtTime調用,則不會收到endInterruption回調。

但有趣的是,即使該播放調用是從後臺線程啓動的,系統也會調用beginInterruption。

希望這會有所幫助。