首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVPlayer永远不会准备好玩

AVPlayer永远不会准备好玩
EN

Stack Overflow用户
提问于 2016-07-22 03:38:11
回答 2查看 1K关注 0票数 6

我有一个加载远程媒体URL (HLS流)的AVPlayer,有时播放器永远不会准备好播放,但不会出现错误。是否还有其他地方可能出现错误,或者有什么方法可以检查它是否仍在加载AVPlayerItem

我有KVO的速率,状态和回放可能会跟上,这永远不会被调用时,视频没有加载。我添加了一个按钮来检查播放器上的错误,播放器项目,以及回放是否可能跟上。当玩家似乎被卡住时,这些报告为nil、nil和false。当播放器卡住(根本拒绝加载vidoe )时,这似乎是随机的,它不会发生在特定的视频上。

我还可以采取哪些其他步骤来调试此问题?是否有其他地方可以检查错误或状态?

已检查更多信息:播放缓冲区为空: true播放缓冲区已满: false

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-27 07:05:41

我们的解决方案是在重用播放器之前,使用player.replaceCurrentItemWithPlayerItem(nil)释放AVPlayer。由于某些原因,替换当前项有时会导致问题。我们还确保我们的视频是按顺序加载的,而不是一次加载所有视频。这似乎解决了我们的问题。

票数 2
EN

Stack Overflow用户

发布于 2016-08-25 13:23:55

要从应用程序中加载来自远程服务器的URL,您必须将此URL添加到info.plist中

代码语言:javascript
复制
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>mydomain.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionRequiresForwardSecrecy</key>
            <true/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.2</string>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <false/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <true/>
            <key>NSThirdPartyExceptionMinimumTLSVersion</key>
            <string>TLSv1.2</string>
            <key>NSRequiresCertificateTransparency</key>
            <false/>
        </dict>
    </dict>
</dict>

see the docs

不要像我输入的那样添加行。根据您的需要对它们进行配置。请注意,苹果对iOS的默认配置是连接https,而不是http。您必须将其配置为允许http

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38512973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档