在 iOS 中播放直播广播流的 AVPlayer 替代方案

问题描述

我正在开发一个应用程序,它要求我播放直播广播流,该流通常是以 .mp3 流结尾的 URL 或以 .m3u8 结尾的 HLS

向 AVPlayer 提供这些 url 中的任何一个在大多数情况下都能很好地工作。

我遇到的问题是,由于网络原因或其他一些错误,AVPlayer 有时会停止或停止播放。在我看来,了解 AVPlayer 的状态并不总是可靠的。

使用 this answer,我无法可靠地确定播放器是否正在缓冲或已停止。有时当我看到播放器正在缓冲时,它仍然告诉我缓冲区已满。

由于 AVPlayer 的一些原因,我想知道使用一些较低级别的 API 播放实时音频流的最佳方法和步骤是什么。

我注意到有几个地方提到了 AVAudioEngine - 这是一个解决方案吗?我不知道从哪里开始。

另一个似乎更有意义的概念是:

  • 将数据流式传输到本地缓冲区
  • 使用AVAudioPlayer播放本地缓冲区

我对第二种方法的疑问是,

  • 我应该在什么时间间隔内请求数据?
  • 另外,如何从 HLS 网址中检索数据?

最后我还注意到 this article from Apple 有一些我正在寻找的概念,但是,我不想将流的内容保存到磁盘以供离线播放,只想存储需要的数据下一个服务。

在不使用 AVPlayer 的情况下播放实时音频流的任何指导/建议/示例将不胜感激。

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)