ios - 使用 AVPlayer 播放音频在后台不起作用

标签 ios audio background avplayer airplay

我正在使用来自远程 URL 的 AVPlayer 类进行音频播放。

如果我只用耳机/内置扬声器播放,效果很好,但我发现 AirPlay 有一些奇怪之处。

当我改为使用 AppleTV 进行 AirPlay 时,它会流式传输音频,但在我的 iPhone 上,音频播放指示器(顶部菜单栏中的小“播放”三角形)消失了,当我锁定手机而不是继续在后台,它停止。 (正常播放时,后台播放正常)。

为什么 AVPlayer 无法通过 AirPlay 在后台播放音频?

这是别人看到的吗?有解决办法吗?

最佳答案

好的 - 我浏览了苹果开发者论坛并找到了提示。

如果您仅将 AVPlayer 用于音频,并希望它在进行 airplay 时在后台工作,则需要禁用 allowsAirPlayVideo 设置。

显然,iOS 5+ 上的 AVPlayer 假定它正在通过 AirPlay 播放视频,因此不允许背景播放,除非您明确禁用视频 AirPlay。

一旦禁用此功能(即 self.player.allowsAirPlayVideo = FALSE;),您的音频仍将通过 AirPlay 播放,但现在它不会被视为视频,只会被视为音频,等等将允许后台工作。

关于ios - 使用 AVPlayer 播放音频在后台不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8807914/

相关文章:

javascript - 我可以将 <h1> 标记作为可点击的按钮吗?

android - 使用我的音量设置播放声音

swift - Swift-在App未在前台运行时检查数据是否有所更改

android - 如何让我的 Android 应用程序在后台运行?

ios - 更改选项卡时 Web View 会使选项卡式应用程序崩溃?

ios - 两个 UIButton 形成一个具有渐变颜色,另一个具有边框和圆角

ios - Swift:尝试附加随机数组元素时获取 EXC_BAD_INSTRUCTION

ios - 核心数据子有序集

audio - 在浏览器中播放 wav 文件的最佳方式?

css 整页背景不显示