AVPlayer 无法在 iOS 9 上播放

Posted

技术标签:

【中文标题】AVPlayer 无法在 iOS 9 上播放【英文标题】:AVPlayer not playing on iOS 9 【发布时间】:2015-09-29 17:34:06 【问题描述】:

我正在尝试构建一个音频流应用程序,例如收音机。这是流的 URL:http://radio.livesh.com.br:8068/

这基本上是我的做法:

player = AVPlayer()
let playerItem = AVPlayerItem( URL:NSURL(string:streamURL)! )
player = AVPlayer(playerItem:playerItem)
player.rate = 1.0;
player.play()

player 变量已存储,因此它会继续播放并且不会被取消初始化。在装有 ios 8 的 iPhone 5S 中,它可以工作,我可以听到声音。在装有 iOS 9 的 iPhone 6 中则不然。

我做错了什么?

【问题讨论】:

您在控制台或设备日志中看到任何消息吗? 控制台没有错误 查看设备日志。 设备日志什么也没显示。它没有崩溃。只是不会播放声音 【参考方案1】:

可能是 ATS(应用程序传输安全),它强制使用 https 而不是 http

您可以通过 https 提供您的内容,或者在 info.plist 文件上创建一个例外:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>radio.livesh.com.br</key>
    <dict>
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
      <true/>
    </dict>
  </dict>
</dict>

【讨论】:

不,我已为所有域禁用 ATS(在开发中)

以上是关于AVPlayer 无法在 iOS 9 上播放的主要内容,如果未能解决你的问题,请参考以下文章

Swift 2 AVPlayer - 播放下一个视频 上一个视频

AVPlayer 无法在 iOS8 上播放 NSDocuments 目录中的视频

iOS 14.2 Beta - AVPlayer 无法播放 [关闭]

设备自动锁定时,AVPlayer 无法在 iPad 上运行

在 iOS 9 上播放 HLS m3u8

iOS AVPlayer 无法播放 240 fps 视频