Я буферизую видео, которое находится в формате m3u8, и я устанавливаю этот URL как contenturl для MPMovieplayerController
Я управляю фоновым потоком, который бежит каждые 0.3 секунды, который я использую, чтобы проверить буферизированную и играемую продолжительность и выполнить проверку соответственно
if(!mPlaybackProgressTimer)
mPlaybackProgressTimer = [[NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(didPlayback:) userInfo:nil repeats:YES] retain];
и в didplayback
..
- (void)didPlayback:(id)sender {
NSTimeInterval totalDuration = [mVideoPlayerController duration];
NSTimeInterval playbackTime = [mVideoPlayerController currentPlaybackTime];
float playbackProgress = 0.0;
if(playbackTime > 0.0 && totalDuration > 0.0)
playbackProgress = playbackTime/totalDuration;
mPercentWatched = round(100 * playbackProgress);
NSTimeInterval bufferedTime = [mVideoPlayerController playableDuration];
float bufferProgress = 0.0;
if(playbackTime > 0.0 && totalDuration > 0.0)
bufferProgress = bufferedTime/totalDuration;
[self setProgress:bufferProgress forProgressType:eProgressTypeBuffer];
[self setProgress:playbackProgress forProgressType:eProgressTypePlay];
}
Проблема - то, что, если я нажимаю кнопку возврата и затем возвращаюсь в приложение , bufferedtime теряется, т.е. данные имеют к буферизированному еще раз..
Должен там так или иначе преодолеть эту проблему..?