AVPlayer
リモートサーバーからオーディオを再生するため に使用しています。
MPMoviePlayerController
映画を再生するときのように、バッファリングの進行状況と「再生時間」の進行状況を示すプログレスバーを表示したいと思います。
AVPlayer
この情報を表示するUIコンポーネントはありますか?そうでない場合、どうすればこの情報(バッファリング状態)を取得できますか?
ありがとう
AVPlayer
リモートサーバーからオーディオを再生するため に使用しています。
MPMoviePlayerController
映画を再生するときのように、バッファリングの進行状況と「再生時間」の進行状況を示すプログレスバーを表示したいと思います。
AVPlayer
この情報を表示するUIコンポーネントはありますか?そうでない場合、どうすればこの情報(バッファリング状態)を取得できますか?
ありがとう
いいえ、AVPlayer用のUIコンポーネントはありません。
あなたはオブザーバーでなければなりませんAVPlayerItem.loadedTimeRanges
[yourPlayerItem addObserver:self forKeyPath:@"loadedTimeRanges" options:NSKeyValueObservingOptionNew context:nil];
次に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];
}
}
}
timerange.duration
あなたが期待するものです。
また、バッファの進行状況を手動で描画する必要があります。
ここで参照します。