问题描述
我正在开发一个应用程序,它要求我播放直播广播流,该流通常是以 .mp3 流结尾的 URL 或以 .m3u8 结尾的 HLS
向 AVPlayer 提供这些 url 中的任何一个在大多数情况下都能很好地工作。
我遇到的问题是,由于网络原因或其他一些错误,AVPlayer 有时会停止或停止播放。在我看来,了解 AVPlayer 的状态并不总是可靠的。
使用 this answer,我无法可靠地确定播放器是否正在缓冲或已停止。有时当我看到播放器正在缓冲时,它仍然告诉我缓冲区已满。
由于 AVPlayer 的一些原因,我想知道使用一些较低级别的 API 播放实时音频流的最佳方法和步骤是什么。
我注意到有几个地方提到了 AVAudioEngine
- 这是一个解决方案吗?我不知道从哪里开始。
另一个似乎更有意义的概念是:
- 将数据流式传输到本地缓冲区
- 使用
AVAudioPlayer
播放本地缓冲区
我对第二种方法的疑问是,
- 我应该在什么时间间隔内请求数据?
- 另外,如何从 HLS 网址中检索数据?
最后我还注意到 this article from Apple 有一些我正在寻找的概念,但是,我不想将流的内容保存到磁盘以供离线播放,只想存储需要的数据下一个服务。
在不使用 AVPlayer 的情况下播放实时音频流的任何指导/建议/示例将不胜感激。
提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)