使用中MPMoviePlayerControllerに、ビデオのバッファリング中に終了したデータの割合を見つける方法はありますか?
私の目的は、ロードされているパーセンテージを示すプログレスバーを表示し、パーセンテージの数値カウントを表示することです。
前もって感謝します。
使用中MPMoviePlayerControllerに、ビデオのバッファリング中に終了したデータの割合を見つける方法はありますか?
私の目的は、ロードされているパーセンテージを示すプログレスバーを表示し、パーセンテージの数値カウントを表示することです。
前もって感謝します。
アップルのドキュメントをチェックしましたMPMoviePlayerControllerか?
ここでは、役立つ可能性のある2つのプロパティを見つけることができます。durationそしてplayableDuration、それは完全に一致していませんが、かなり近いです。自分で実装する必要があるのは、これらのプロパティをインテリジェントにクエリする方法です。たとえば、を使用して、 0.5秒ごとNSTimerにインスタンスから情報を取得したい場合があります。MPMovePlayerController
たとえばmyPlayer、タイプという名前のプロパティがあるMPMoviePlayerControllerとすると、ViewControllerなどのinitメソッドで開始します。
次にこれが続きます:
self.checkStatusTimer = [NSTimer timerWithTimeInterval:0.5
target:self
selector:@selector(updateProgressUI)
userInfo:nil
repeats:YES];
そして、UIを更新するためのこのようなメソッド:
- (void)updateProgressUI{
if(self.myPlayer.duration == self.myPlayer.playableDuration){
// all done
[self.checkStatusTimer invalidate];
}
int percentage = roundf( (myPlayer.playableDuration / myPlayer.duration)*100 );
self.progressLabel.text = [NSString stringWithFormat:@"%d%%", percentage];
}
の二重パーセント記号に注意してください-stringWithFormat。これは、記号に解決するための別の形式指定子%です。フォーマット指定子の詳細については、こちらを参照してください。