1

我的 *.wav 的工作符合预期。但是 wav 文件太大了,所以我想播放 *.mp3 或 *.ogg 但它不起作用。

我使用在 finch Demo 项目中找到的这行代码

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

所以我只将sitar.wav 更改为我的.mp3 文件名。

注1: 不能是mp3或ogg,任何文件格式不如wav大都可以,但是哪个?

注意2: 我不知道如何使用声音,所以我在stackoverflow上搜索并找到了finch。它看起来很简单,所以我想使用它,但是如果您知道其他一些简单的方法来播放该声音文件(带有压缩编解码器的环境 + 效果声音),我也会切换到其他技术。

4

1 回答 1

1

不幸的是,Finch 不支持播放压缩音频(还没有?)。解码系统为压缩音频解码做好了准备(参见PCM 解码器,例如如何编写解码器),但目前还没有 OGG、MP3 或类似的解码器。另请注意,如果/当压缩音频支持出现时,压缩样本将在播放前完全解压缩到内存中,这样您无论如何都无法播放很长的声音(因为它们不适合内存)。

Finch 仅用于播放具有低延迟的短样本。如果您想播放更长的压缩背景音轨,只需使用AVAudioPlayer

于 2010-06-05T18:44:46.413 回答