2011-02-25 89 views
3

是新手爲多媒體work.i想通過示例捕獲音頻並通過network.how傳輸到一些其他ios設備開始我的工作? .i剛剛通過蘋果多媒體指南和講述的例子,它充滿了C++代碼,他們正在寫入文件,然後啓動服務,但我需要緩衝區...請幫助我以正確的方式開始我的工作。在ios實時音頻輸入和輸出流

在此先感謝

回答

9

我只花了很多時間上的實時音頻的東西,則可以使用AudioQueue但它有延遲問題圍繞100-200ms。

如果你想要做的事,如與T-Pain的應用程序,你必須使用

  • RemoteIO API
  • 音頻單元API

他們同樣難以實現,所以我只會選擇遠程IO路徑。

源可以在這裏找到:

http://atastypixel.com/blog/using-remoteio-audio-unit/

+0

謝謝你的信息。我會檢查,並回到你,如果有任何問題... – 2011-02-26 07:22:08

+0

@ madmik3:記錄和回放我可以使用AudioQueue? – 2011-02-28 06:56:30

+0

你可以,但它有延遲問題,像我上面描述的,你也可以像提供的鏈接一樣使用RemoteIO音頻單元API。它們是在iOS中進行錄製和回放的兩種不同的API。 – madmik3 2011-02-28 15:14:51

0

我已經upvoted以上的答案,但我想添加一條信息我花了一段時間才能弄清楚。在使用AudioQueue進行錄製時,直觀的概念是回調按照樣本數量的任意數量的規律間隔完成。這個概念是不正確的,AudioQueue似乎收集很長一段時間的樣本,然後以非常快的迭代方式交付它們。

在我的情況下,我做了20ms的採樣,每個回調接收320個採樣。當打印出呼叫的時間戳時,我注意到了一個模式:每2毫秒呼叫一次,然後過了一段時間〜180毫秒。由於我在做VoIP,這就表現出接收端延遲時間增加的症狀。切換到遠程I/O似乎解決了這個問題。