2010-01-29 39 views

回答

1

你的意思是你自己構建的應用程序?如果是的話,你可以保存呈現的波形(可能是編碼/壓縮以節省空間)以供以後播放。 (請參閱:Extended Audio File Services,它可以將相同的AudioBufferList寫入您在Instrument-App中播放音頻時將呈現給RemoteAudio Unit的文件)

[編輯:刪除關於錄製第三方應用音頻輸出的註釋.. 。]

隨着AVFoundation你目前正在使用,你總是工作的聲音文件的水平。你的代碼永遠不會看到實際的音頻信號。因此,您無法「抓住」您的應用在使用時產生的音頻信號。此外,AVAudioPlayer不提供任何獲取最終信號的方法。如果您使用AVAudio播放器的多個實例同時播放多個聲音,那麼您也無法獲得混合信號。

唉,您可能需要使用CoreAudio這是一個更低層次的接口。

我想推薦一種替代方法:爲什麼不記錄音頻輸出的動作順序和時間?把這個事件序列寫到一個文件中,然後讀回來重現'性能' - 這有點像你自己的MIDI音序器:)

+0

謝謝,我知道,有一種方法來記錄一個應用程序與其他在iPhone上的應用程序,因爲你可以一次運行一個應用程序 - 無論如何,我的意思是你的第一個想法。我會查看文件。但也許你可以多解釋一下。我的應用播放wav聲音。你可以按下記錄和wavs應該被記錄。之後,你可以聽到它。 – Flocked

+0

您是否將CoreAudio用於音頻輸出? – VoidPointer

+0

我正在使用AVFoundation,所以AVAudioPlayer。但是我也可以用CoreAudio來嘗試它。哪個更容易記錄? – Flocked

相關問題