在iOS中播放ogg流

22

有人在iOS上播放过OGG流吗?除了编写自己的解码器外,我还能使用什么工具?

我正在使用苹果的AVPlayer播放该流。

这个问题已经作为这个线程的一部分提出: iOS在线无线电流媒体问题但还没有得到答案。


请查看我的答案。虽然不是关于流,但可能会有用。 - DanSkeel
3个回答

22
在iOS中没有内置支持播放ogg文件的功能,但是可以轻松获取ogg压缩/解压缩的源代码(来自xiph.com)。将这些代码编译为iOS可用的格式并在应用程序中使用是相当简单的。
我有机会编译这些库,并已经提供了它们:“iOS预编译Ogg Vorbis库”
我还在GitHub上提供了一些示例源代码,展示了如何在iOS上播放解码后的Ogg Vorbis音频:IDZAQAudioPlayer

1
我该如何在iOS中使用您的预编译Ogg Vorbis库? - user777304
1
我该如何在iOS中使用您的预编译Ogg Vorbis库? - user777304
@user777304 我在GitHub上发布了一些代码,演示了如何在iOS上播放。请查看我更新后的回答中的链接。 - idz
能否使用AVAudioPlayer播放解压后的音频?你的代码相当复杂,我希望不必那么复杂就可以播放一个简单的ogg文件。 - muttley91
1
@rar 其实不是。你可以解压整个文件,然后使用 AVAudioPlayer 播放它,但这会导致很多麻烦。我发布的代码是我所知道的最简单的流水线解压缩和播放的方法。不确定为什么你认为它很复杂。只需要4行代码来设置播放器。然后你就可以调用像 [player play] 和 [player stop] 这样的方法了! - idz
显示剩余2条评论

2

.ogg文件也可以编码为Opus或FLAC格式,请参考Ogg百科。请注意,IDZAQAudioPlayer可能没有涵盖所有情况。

对于Opus编解码器,您可以参考Telegram for iPhone的源代码:https://telegram.org/apps


0
使用VLCKit - ibvlc绑定在Objective-C上的macOS、iOS、iPadOS和tvOS中。
这是来自著名媒体播放器"VLC Media Player" 的库,支持Cocoapods,并且可以无缝在iOS上播放/流式传输.ogg文件。
  pod 'MobileVLCKit'

请查看这篇博客文章以获取更详细的教程。


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