音频在 MPMoviePlayerController 音频流上不断停止

Posted

技术标签:

【中文标题】音频在 MPMoviePlayerController 音频流上不断停止【英文标题】:The audio keeps stopping on MPMoviePlayerController Audio streaming 【发布时间】:2013-09-19 13:28:15 【问题描述】:

我正在使用MPMoviePlayerController从服务器流式传输音频,但是在播放音频超过两分钟后,音频开始停止并恢复很多,我一个接一个地流式传输多个文件,所以因为中断,一些音频文件被这两条控制台消息跳过:

 Took background task assertion (38) for playback stall

 Ending background task assertion (38) for playback stall

因为这个错误,我丢失了很多曲目。 一开始,我以为是内存问题,但是控制台显示每次松动的轨道,它都会打印这些消息,

【问题讨论】:

【参考方案1】:

您是在模拟器还是设备上尝试?可能是模拟器问题。

另外,在设备上,尝试通过多个网络进行流式传输,例如 LTE、wifi 等,看看是否有任何区别

【讨论】:

我也有同样的问题,但只在蜂窝网络上而不是在 wifi 上。 @RawMean 您的蜂窝带宽可能不够高。通常,wifi 可以实现更高的带宽。 这就是我的想法,但 SpeedTest 告诉我我有 30Mbps 下行链路和 10Mbps 上行链路。更奇怪的是:这个停滞问题从昨天开始。在过去的一年里,我每天在开车上班的路上都使用我的收音机应用程序。我在另一部 iPhone 上尝试过,同样的卡顿问题也出现在它上面。很疑惑。 您的手机提供商是谁?我想知道他们是否可能会过滤流量并降低音频/视频流流量的优先级?因此,即使 SpeedTest 显示一般数据的下行链路为 30 Mbps,但一旦您尝试流式传输音频/视频,它们就会对其进行限制。不幸的是,这种事情发生了 这是一个很好的猜测,因为这个问题在没有任何代码更改或 ios 版本更改的情况下开始。这是 ATT。【参考方案2】:

检查您的网络连接和流编码。

这个控制台输出几乎准确地说明了您的问题是什么;流中内容枯竭,无法不间断地继续播放。

您的网络连接不稳定,或者内容编码的带宽对于您的网络连接来说太高了。

为了澄清;即使您的本地 Internet 对等互连提供高带宽,您仍应检查整个路由的带宽。例如,您可以尝试通过浏览器下载流式文件以测试吞吐量。

【讨论】:

我有一个 24Mp 速度的互联网连接 当你说你应该检查你的连接性时,我实际上的意思是你应该检查到提供相关内容的服务器的整个路由。请放心,问题出在编码和传输中,而不是客户端代码中。

以上是关于音频在 MPMoviePlayerController 音频流上不断停止的主要内容,如果未能解决你的问题,请参考以下文章

player.duration 在视频文件的 MPMoviePlayerController 中始终显示为零

浅谈iOS视频开发

断言失败:电影播放器​​的激活状态错误(一)

音频处理Melodyne 导入音频 ( 使用 Adobe Audition 录制音频 | 在 Melodyne 中打开录制的音频 | Melodyne 对音频素材的操作 | 音频分析算法 )

音频在 MPMoviePlayerController 音频流上不断停止

chrome音频分析仪在音频开关上中断