在iOS 8中将PCM缓冲区编码为Opus格式的Ogg文件

4

我需要使用opus编解码器将原始音频编码为ogg数据包。

我获取的原始音频如下:

    input.installTapOnBus(0, bufferSize: 2048, format: input.inputFormatForBus(0)) { (buffer: AVAudioPCMBuffer!, time: AVAudioTime!) -> Void in

        // Encode buffer to Ogg
    }

我在项目中有Ogg.framework和libopus.a文件。但是,我不太了解如何使用Opus来处理Ogg格式的音频。我也没有找到任何符合我需求的示例。

如果能提供帮助,我将不胜感激!


我为此创建了一个存储库:https://github.com/Devxhkl/SwiftAudioStreamingOggOpus - hungrxyz
1个回答

0

至少有两个选项:

  1. opusenc库创建一些包装器,以便在Ogg/Opus中对PCM进行编码。该库是用纯C编写的,但结构良好且易于使用。只需查看示例“examples/opusenc_example.c”即可。
  2. watson-developer-cloud/swift-sdk中劫持一些代码,它包含基于libopusogg的OGG/OPUS的decoderencoder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接