我正在阅读AVPlayer 类文档,但找不到我的问题的答案。
我正在我的 iPhone 应用程序上播放来自 Internet 的流式音频,我想知道[myAVPlayer pause];
调用后是否myAVPlayer
会在后台长时间下载音频文件。
如果用户按下“暂停”按钮,调用 [myAVPlayer pause];
然后离开应用程序,会myAVPlayer
继续下载大量数据吗?
当用户使用 3G 网络时,我很担心这一点。
我正在阅读AVPlayer 类文档,但找不到我的问题的答案。
我正在我的 iPhone 应用程序上播放来自 Internet 的流式音频,我想知道[myAVPlayer pause];
调用后是否myAVPlayer
会在后台长时间下载音频文件。
如果用户按下“暂停”按钮,调用 [myAVPlayer pause];
然后离开应用程序,会myAVPlayer
继续下载大量数据吗?
当用户使用 3G 网络时,我很担心这一点。
我面临同样的问题并做了一些实验。我的观察只对视频有效,但如果它们也对音频有效,那么当你按下暂停时,AVPlayer 将尝试缓冲大约 30 秒的内容。如果您可以访问网络服务器,则可以运行 tcpdump/wireshark 并查看按下暂停后服务器继续发送数据的时间。
您可以管理 AVPlayer 继续缓冲的时间。您需要管理avplayer currentItem 的preferredForwardBufferDuration。如果你想停止缓冲设置值为 1 因为如果你将它设置为 0 它将自动设置
self.avPlayer.currentItem.preferredForwardBufferDuration = 1;
来自 Apple 文档:此属性以秒为单位定义首选的转发缓冲区持续时间。如果设置为 0,播放器将为大多数用例选择适当的缓冲级别。将此属性设置为较低的值将增加播放停止和重新缓冲的机会,而将其设置为较高的值将增加对系统资源的需求。