Ren*_*ger 2 avfoundation m3u avplayer m3u8 avkit
我正在尝试让AVPlayer播放作为本地文件的m3u8播放列表。
我已经使用苹果的示例播放列表之一将其缩小为一个简单的测试用例:
https://tungsten.aaplimg.com/VOD/bipbop_adv_fmp4_example/master.m3u8
Run Code Online (Sandbox Code Playgroud)
如果我从远程URL播放此播放列表,则AVPlayer会播放得很好。但是,如果我将此播放列表下载到本地文件,然后将本地文件URL交给AVPlayer,则AVPlayer将不会播放它。它只是显示划掉的比赛符号。
有趣的是,这也可以与Safari复制。Safari将播放远程播放列表,但不播放本地文件。还要注意的是,AVPlayer的这种行为在iOS 10.2和macOS 10.12.1上是相同的。另外,直接播放mp4媒体文件(未包装在播放列表中)似乎也没有此问题,因为它既可以从远程URL播放,也可以从本地文件播放。
检查AVPlayerItem.error不会导致任何有用的事情:
An unknown error occurred (-12865)
The operation could not be completed
Run Code Online (Sandbox Code Playgroud)
有谁知道AVPlayer无法播放本地播放列表的任何限制?
谢谢。
必须将m3u / m3u8文件存储在服务器上并进行流式播放才能播放(我知道这听起来不合理,但Apple再次这样做了)。您必须使用HLS,这基本上意味着您应该将文件存储在服务器上并从那里直接访问它。您也可以使用GCD WebServer之类的框架在应用程序内部创建本地服务器。
| 归档时间: |
|
| 查看次数: |
2335 次 |
| 最近记录: |