2014-02-25 11 views
0

在我目前正在開發的應用程序中,有一個「工作室」,當您可以製作一些音效時,使用「驚人的音頻引擎」。試圖在同一個應用程序中使用「驚人的音頻引擎」和「AudioStreamer」

還有一個選項可以通過流來聽歌曲。 不幸的是,驚人的音頻引擎不包含「流媒體」功能,所以我使用「AudioStreamer」calss。

我不知道爲什麼,但這兩者對我來說不能很好地協同工作。 每個人都獨自工作很好,但目前我嘗試在驚人的音頻引擎上播放一些音頻,停止並移動到流,然後移回到音頻引擎,聲音不再播放!沒有聲音!

我已經檢查過,我在每個班級都打電話「停」,並將其設爲「無」。 在他們玩之前,我再次分配它們中的每一個。

我沒有選擇,並認爲它可能與它們使用的核心音頻有關? 任何幫助,將不勝感激

感謝

編輯

我發現,當我使用「AudioStreamer」的「停止」的方法這隻發生! 能勝任解釋嗎?

編輯第二

找到了答案!

這是由outmark解決了這個:

 /* 
     while (state != AS_INITIALIZED) 
    { 
    [NSThread sleepForTimeInterval:0.1]; 
    } 
     */ 


    // And adding this: 

    AudioQueueStart(audioQueue, NULL); 

要「停止」的方法,還是,真的不明白爲什麼...

回答

0

這需要一些時間調用音頻停止方法或之後函數來真正停止所有的音頻單元(而緩衝區被硬件清空等)。在這個(短暫的)延遲之後,您經常無法重新啓動音頻。

+0

這聽起來很邏輯,但事情是,在演奏完它們之後,無論我等待多久,這個偉大的音頻引擎都不會發出任何聲音,非常奇怪。 – MCMatan

相關問題