我正在写一个视频应用程序,播放来自网络的流媒体视频,我正在使用AV播放器来做到这一点。我的问题是如何找出有多少视频内容是预先缓冲的,在MPMoviePlayerController中,你可以看到UISlider上缓冲的内容的数量。我想显示相同的使用AV播放器,也能够改变预先缓冲的内容的数量。
我的理想情况是-用户使用我的应用程序流式传输电影文件,如果他暂停播放按钮,电影将继续缓冲,就像你观看youtube视频一样。
请帮帮我!!
谢谢。
发布于 2012-10-17 12:29:37
通过查看AVPlayerItem loadedTimeRanges属性,可以查看在播放头之前加载和缓冲的数据量。
例如:
AVPlayer *player;
NSArray *loadedTimeRanges = player.currentItem.loadedTimeRanges;
NSLog(@"LoadedTimeRanges: %@", loadedTimeRanges);在我的应用程序中,我可以看到:
LoadedTimeRanges: (
"CMTimeRange: {{338070700809/1000000000 = 338.071}, {54651145016/1000000000 = 54.651, rounded}}"
)其中第二个值(54.651)看起来是存在于播放头前面的缓冲量。在失速的情况下,该值随着播放的继续而减小,直到接近0。
我只看到55到60秒的预缓存内容,- you只能检查这个值,不能强制播放器缓冲更多的数据。但是,您可以使用此值直观地指示缓冲给用户的数据量。
https://stackoverflow.com/questions/7113922
复制相似问题