代码之家  ›  专栏  ›  技术社区  ›  Allisone

第一次使用finch。如何播放MP3,ogg或其他格式(wav文件大)?

  •  1
  • Allisone  · 技术社区  · 14 年前

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

    我使用finch演示项目中的这行代码

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

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

    注1: 它不能是mp3或ogg,任何文件格式都不能像wav那么大,但哪一种?

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

    1 回复  |  直到 14 年前
        1
  •  1
  •   zoul    14 年前

    不幸的是,芬奇不支持播放压缩音频(还没有?).解码系统准备用于压缩音频解码(参见 PCM decoder 例如如何编写解码器),但目前没有针对ogg、mp3或类似的解码器。另外,请注意,如果/当压缩音频支持出现时,压缩样本将 完全地 在播放前解压缩到内存中,这样您就不能播放很长的声音(因为它们不适合内存)。

    Finch只用于以低延迟播放短样本。如果要播放较长的压缩背景曲目,只需使用 AVAudioPlayer .