2010-06-05 23 views
1

My * .wav的工作如預期。但是wav文件很大,所以我想播放* .mp3或* .ogg,但它不起作用。第一次使用雀科。如何播放MP3,OGG或其他格式(WAV文件大)?

我使用此代碼行的雀示範項目

engine = [[Finch alloc] init]; 
sitar = [[Sound alloc] initWithFile:RSRC(@"sitar.wav")]; 
[sitar play]; 

發現所以,我只能改變sitar.wav到我的.MP3文件名。

注1: 它不能將MP3或OGG,任何文件格式並不像龐大的WAV應該沒問題,但?

注2: 我不知道如何使用聲音,所以我搜索並找到了在這裏finch在stackoverflow。它看起來很容易,所以我想使用它,但如果你知道其他一些簡單的方法來播放該聲音文件(環境+使用壓縮編解碼器的效果聲音),我也會切換到其他技術。

回答

1

不幸的是,Finch不支持播放壓縮音頻(還有?)。解碼系統準備用於壓縮音頻解碼(例如,如何編寫解碼器,請參見PCM decoder),但目前還沒有用於OGG,MP3或類似的解碼器。另外請注意,如果/當壓縮音頻支持到來時,壓縮的樣本將在播放之前完全解壓縮到內存中,因此無論如何您都無法播放非常長的聲音(因爲它們不適合內存)。

Finch只能播放低延遲的短樣本。如果你想播放更長的壓縮背景音軌,只需使用AVAudioPlayer即可。

+0

嗯,它的一些效果,如笑聲,撞擊聲,哨聲,並且有一個聲音應該是後臺音頻播放的始終 – Allisone 2010-06-05 20:48:35

+0

這是很常見的情況。使用AVAudioPlayer作爲背景音軌,Finch使用音效。希望效果會足夠短,以便您可以將它們保存在WAV中。 – zoul 2010-06-06 05:54:55

相關問題