Airplay:从 MPMoviePlayerController 播放电影只会导致音频流式传输到 Apple tv

Posted

技术标签:

【中文标题】Airplay:从 MPMoviePlayerController 播放电影只会导致音频流式传输到 Apple tv【英文标题】:Airplay: Playing a Movie from MPMoviePlayerController results in only audio being streamed to Apple tv 【发布时间】:2011-04-14 15:07:28 【问题描述】:

设置 Airplay 非常简单。

 self.moviePlayer = [[[MPMoviePlayerViewController alloc] initWithContentURL:url] autorelease];
 [self.moviePlayer setAllowsAirPlay:YES];

但是,当我尝试播放视频时,只会播放音频。视频继续在 iPad 上播放。 此外,Airplay 控件仅在源列表中显示“仅音频”图标。 (见图)。

这让我觉得 ios“认为”只有音频正在播放。 我的设备上还有其他几个带有 Airplay 的应用程序,它们可以正常工作。我已经打开和关闭了 Apple 电视和 iPad。 iPad 和 Apple tv 都安装了最新的操作系统。该视频正在逐步下载,但它在 iPad 上可以完美播放。 有什么想法吗?

【问题讨论】:

渐进式下载的内容是否也会通过 AirPlay 流式传输,或者这可能是阻碍因素? 我在网上看到各种报告说您可能需要硬重启设备,如果您还没有使用机场快线,您也可能会获得更好的结果。我有同样的挫败感,因为我发现只有 Apple 批准的应用程序(Youtube 等)适用于我的设置,而我自己的正确启用 airplay 的应用程序会导致根据您的问题看到扬声器。我的直觉是,Apple 还没有告诉我们一些事情——我认为它对视频编码很挑剔,但到目前为止我的实验并没有改变任何东西。 @Till 渐进式流媒体内容在 iOS 编程指南中被列为支持。 @Roger 我正在使用 Airport Extreme(最新版本)并且已经重新启动。我也认为编码与此有关。但就像你说的,我没有看到任何限制。而且我觉得很奇怪 iPad 可以播放 Apple 电视无法播放的内容。 @Corey 感谢您仔细检查并让我们知道 - 然后我也猜它是编码问题。最后的手段:分析适当的可流式传输内容并找到使其工作的一两个位。 【参考方案1】:

Airplay Supported formats 包括(通过 Apple):

H.264 视频和 AAC 音频 HTTP 流媒体,直播和点播 渐进式下载内容 本地内容

对于基于网络的内容,您可以在 QuickTime 插件或 html5 视频元素中启用 AirPlay 视频,如下所示:

QTP插件:

airplay="allow"
airplay="deny" (Default)
For example: <embed src="movie.mov"   airplay="allow">

HTML5 视频元素:

x-webkit-airplay="allow"
x-webkit-airplay="deny" (Default)

【讨论】:

【参考方案2】:

确保使用的 iOS 是 4.3 或更高版本。 4.2.x 确实响应了 -setAllowsAirPlay 调用,但它确实无法正常工作。 4.3是正式支持AirPlay的iOS版本。我在使用 4.2.x 设备进行测试时看到了这个纯音频错误。

【讨论】:

【参考方案3】:

所以没有吸引力的答案是 iOS 5 解决了这些问题。

我发现某些操作系统和设备的组合会导致此问题:特别是 iOS 4 和 iPhone 4。

因此,如果您遇到问题,请安装 iOS 5。在这篇文章中,最近有一篇文章引用了 Apple 的声明,宣布 iOS 5 已渗透到大约 30% 的合格设备(3G 及以上)。由于它发布仅 1 周,因此我不太关心解决我上面所说的边缘情况。

这显然是 iOS 4 版本的 Airplay 中的一个错误,并且 iOS 4 版本目前不太可能更新以修复该错误。所以我称它为暂时关闭。

【讨论】:

以上是关于Airplay:从 MPMoviePlayerController 播放电影只会导致音频流式传输到 Apple tv的主要内容,如果未能解决你的问题,请参考以下文章

录制音频 + AirPlay

将 iOS 设备变成 AirPlay 扬声器

将 AirPlay 添加到 AVAudioPlayer (Swift)

如何开始使用airplay? [关闭]

AirPlay 镜像的欠扫描问题

使用 iOS 应用程序将多个 AirPlay 输入排队到扬声器