gpt4 book ai didi

avfoundation - AVPlayer 不从本地文件播放 m3u8

转载 作者:行者123 更新时间:2023-12-04 04:19:30 25 4
gpt4 key购买 nike

我试图让 AVPlayer 播放一个本地文件的 m3u8 播放列表。

我已经使用 Apple 的示例播放列表之一将其缩小为一个简单的测试用例:

https://tungsten.aaplimg.com/VOD/bipbop_adv_fmp4_example/master.m3u8

如果我从远程 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

有没有人知道 AVPlayer 不能播放本地播放列表的任何限制?

谢谢你。

最佳答案

m3u/m3u8 文件必须存储在服务器上并流式传输才能播放(我知道这听起来不合理,但 Apple 又做了一次)。您必须使用 HLS ,这基本上意味着您应该将文件存储在服务器上并从那里直接访问它。您也可以使用 GCD WebServer 之类的框架在您的应用程序中创建本地服务器。 .

关于avfoundation - AVPlayer 不从本地文件播放 m3u8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41112283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com