2010-03-20 85 views
2

我無法選擇正確的音頻播放技術。 iPhone上有很多技術可以使用,這很讓人困惑。我需要哪種音頻播放技術?

我需要做的是這樣的:

  • 開始打短的聲音爲0.1秒和2秒

    之間

  • 高品質播放,無裂紋(我聽到一些iPhone的音頻播放技術這是不好的!)

  • 開始播放聲音的能力,而現在已經有另外一個播放了(同時有兩個,三個或更多的聲音)

你會在這裏建議什麼?爲什麼?感謝:-)

回答

7

基本上有在iPhone上播放音頻四個選項:

  1. Audio Toolbox。簡單,但只適用於在應用程序中播放音效(sample code)。

  2. Audio Queue Services。非常強大,可以做任何事情。 C API,非常麻煩的工作。回調,水桶,痛苦。

  3. AVAudioPlayer。關於最簡單的選項。可以播放壓縮音頻,使用簡單的包裝,您可以一次輕鬆播放同一樣品的多個實例(僅限非壓縮音頻,因爲只有一個HW音頻解碼器)。開始發揮AVAudioPlayer似乎lag about 20 ms,可能是一個問題。

  4. OpenAL。複雜性和功能之間的體面妥協。聲音不會滯後,你可以播放多種聲音很好,但你必須自己做很多工作。我寫了一個名爲Finch的聲音引擎,可以幫助你。

不知道多少關於破解,從來沒有經歷過。我認爲用AVAudioPlayer播放無縫壓縮循環時會遇到一些問題,可以通過保存沒有壓縮的循環來克服。

+0

芬奇看起來不錯!感謝您與我們分享您的辛勤工作。我應該選擇哪種聲音文件格式?哪個比特率?會發生一些關於這方面的更多建議。再次感謝!非常好。你拯救了我的一天。 – dontWatchMyProfile 2010-03-20 11:40:51

+0

現在Finch應該支持以44.1 kHz採樣的單聲道和立體聲小端WAV和CAF文件。我不確定是否所有的組合都經過測試,44.1 kHz的普通立體聲WAV肯定有效。 – zoul 2010-03-20 11:45:13

+0

你想要CAF超過WAV嗎?小端是什麼意思? – dontWatchMyProfile 2010-03-20 13:11:51