2010-06-05 48 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