Eya*_*yal 7 iphone objective-c avaudioplayer ios avplayer
我正在使用AVPlayer远程服务器播放音频.
我想显示一个显示缓冲进度和"播放时间"进度的进度条,就像MPMoviePlayerController播放电影时一样.
是否AVPlayer有任何显示此信息的UI组件?如果没有,我如何获得此信息(缓冲状态)?
谢谢
sai*_*day 20
不,AVPlayer没有UI组件.
你应该观察 AVPlayerItem.loadedTimeRanges
[yourPlayerItem addObserver:self forKeyPath:@"loadedTimeRanges" options:NSKeyValueObservingOptionNew context:nil];
Run Code Online (Sandbox Code Playgroud)
然后用KVO观看
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object
change:(NSDictionary *)change context:(void *)context {
if(object == player.currentItem && [keyPath isEqualToString:@"loadedTimeRanges"]){
NSArray *timeRanges = (NSArray*)[change objectForKey:NSKeyValueChangeNewKey];
if (timeRanges && [timeRanges count]) {
CMTimeRange timerange=[[timeRanges objectAtIndex:0]CMTimeRangeValue];
}
}
}
Run Code Online (Sandbox Code Playgroud)
timerange.duration 是你期望的.
而且您必须手动绘制缓冲区进度.
这里有参考.
| 归档时间: |
|
| 查看次数: |
5401 次 |
| 最近记录: |