2009-08-07 57 views
13

在iPhone或iTouch上存儲和播放短時間(2-3秒)音頻音效的推薦音頻格式是什麼?什麼是iPhone上音效的最佳格式

iPhone的音頻SDK文檔表明,iPhone支持多種格式的音頻 - 但是也有缺點每個:

  • MP3:這是一個高度壓縮,而且還具有高品質的編碼格式保留了音樂和口語的豐富性。但是,iPhone上一次只能播放一個mp3流,因爲它需要使用硬件解碼器。這不包括MP3作爲音效格式,因爲它們會中斷背景音樂和/或任何正在播放的用戶音樂。
  • WAV: iPhone只支持WAV文件,如果它們是PCM編碼的,並且不需要任何壓縮編解碼器。雖然WAV支持許多不同的採樣率和位深度,但它會產生非常大的文件(對於16位/ 44.1kHz /立體聲音頻,爲180k /秒)。當你有很多效果可以快速播放的時候,大尺寸會變得很難。
  • AIFF:與WAV文件有類似的問題 - 目前還不清楚是否支持任何壓縮編解碼器。據說蘋果無損壓縮是支持的 - 但我找不到任何工具可以生成使用此壓縮的AIFF。
  • 定製:您可以使用iPhone低級API從任何來源播放自己的音頻。但是這對於在遊戲中發揮簡單的聲音效果似乎有點過分。我當然不想爲此編寫自己的音頻層和編碼器/解碼器。

任何建議,將不勝感激...如果有人可以推薦一個價格合理的工具來處理音頻,可以生成推薦的格式也將是有益的。謝謝。

回答

10

您可以使用IMA4壓縮文件,它提供WAV文件的1:4壓縮並由硬件解壓縮(您可以使用AVAudioPlayer加載它們)。

對於MP3,您只能以該格式同時播放一個文件,這就是爲什麼不推薦用於可能同時有多個聲音效果的原因。

我在OpenAL中使用IMA4文件,因此我使用基於this post的代碼手動解壓縮它們。

+1

不是一個黛比唐納,但它是很容易播放多個MP3在同一時間。只需使用AVAudio播放器的多個實例。 – 2012-01-06 16:21:05

+1

至少當我發佈這個答案時,情況並非如此。 'AVAudioPlayer'只允許一次播放一個MP3文件,而次播放會顯示明顯的延遲並丟棄。我猜想這仍然是這種情況,而且對於那些需要精確控制聲音開始時間的遊戲。 – pgb 2012-01-06 18:46:12

2

雖然WAV的尺寸很接近,但我對CAF格式文件的運氣相當不錯。

至於工具,Audacity是免費和合理的功能。我主要使用Amadeus Pro(大約40美元)。相當不錯,並生成所有iPhone支持的音頻格式(包括MP3,AIFF,WAVE,AAC和CAF)。一個很好的功能是它支持AudioUnit和VST插件,所以你可以添加SoundFX。

我也聽說過關於裂變(Rogue Amoeba)的好東西,但還沒有真正使用它。他們的其他音頻產品非常穩固。

AVAudioPlayer框架在播放短片時非常好,但如果可以騰出內存,則可能需要預先加載聲音(請撥prepareToPlay)並將其保留。

+0

我以爲CAF只是一個容器格式,它可能包含任何MP3,IMA4,AIFF等。我錯了嗎? – mahboudz 2009-08-08 04:49:46

+0

CAF文件可以包含其他類型的文件格式(如塊),但它們具有自己的64位標頭,元數據和軌道佈局。您仍然需要一個可以導入其他類型並寫入CAF的轉換器工具。以下是規範:http://devworld.apple.com/documentation/MusicAudio/Reference/CAFSpec/CAF_overview/CAF_overview.html – Ramin 2009-08-08 05:18:14

0

我已經能夠工作的唯一格式是CAF。這也是大多數蘋果代碼示例中的一個。如果您使用短暫的聲音效果,尺寸不會成爲問題。

1

查看Mac上的afconvert命令行實用程序。它在不同的音頻格式之間進行了很多轉換,如果你有很多聲音,你可以編寫轉換腳本...

我使用SoundToolbox和AVAudioPlayer,主要是在GarageBand中創建的未壓縮線性PCM。

SoundToolbox用於播放短一點「嘣」或「點擊」,或者你觸發播放其他聲音是偉大的,你不關心停止或與他們的音量等搞亂

如果你想停止播放聲音或瞭解聲音是否播放完畢,AVAudioToolbox非常好。如果您想要控制聲音左側和右側的聲音,請查看OpenAL。

如果您尚未閱讀,請在Sound支持上閱讀Apple的iPhone Application Programming Guide

如果聲音對您的應用程序很重要,您可能想要利用一些可用的功能來進行很少的工作。

0

我一直在使用從3.25:1(高質量)壓縮到3.98:1(默認質量)的Microsoft ADPCM WAV格式。 另外我根據聲音將採樣率降低到32000甚至22050。 沒有必要保存一些立體聲文件 - 單聲道還可以很好地減小文件的大小。

對於背景音樂mp3很好。

相關問題