我的* .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找到了这里的雀。它看起来很简单,所以我想使用它,但如果你知道一些其他简单的方法来播放声音文件(环境+效果声音与压缩编解码器)我也会切换到其他技术。
答案 0 :(得分:1)
不幸的是,Finch不支持播放压缩音频(但是?)。解码系统准备用于压缩音频解码(参见PCM decoder例如如何编写解码器),但目前没有解码器用于OGG,MP3或类似的东西。另请注意,如果/当压缩音频支持到来时,压缩的样本将在播放前完全解压缩到内存中,这样您无论如何都将无法播放很长的声音(因为它们不适合记忆。)
Finch仅用于播放低延迟的短样本。如果您想播放更长的压缩背景音轨,只需使用AVAudioPlayer。