2014-09-24 126 views
-1
[[NSNotificationCenter defaultCenter] addObserver:self 
                selector:@selector(MPMoviePlayerLoadStateDidChange:) 
                 name:MPMoviePlayerLoadStateDidChangeNotification object:mPlayer.moviePlayer]; 


- (void)MPMoviePlayerLoadStateDidChange:(NSNotification *)notification 
     { 
      if ((mPlayer.moviePlayer.loadState & MPMovieLoadStatePlaythroughOK) == MPMovieLoadStatePlaythroughOK) 
      { 
       NSLog(@"content play length is %g seconds", mPlayer.moviePlayer.duration); 
       timeRemain = [NSTimeIntervalSince1970 [mPlayer.moviePlayer.duration]-[mPlayer.moviePlayer.currentPlaybackTime]]; 
       NSLog(@"Time Remaining::%g",timeRemain); 
      } 
     } 
+0

我想獲得播放視頻的剩餘時間,但沒有得到,可以any1幫助我嗎? – Seema 2014-09-24 12:15:05

回答

2

MPMoviePlayerController持續時間已經在幾秒鐘內。 所以

[mPlayer.moviePlayer.duration]-[mPlayer.moviePlayer.currentPlaybackTime] 

將返回當前時間和總時間爲NSTimeInterval的秒數。

+0

是的,但我想播放視頻時觀察員通知,所以我不知道它。你能告訴我如何得到它嗎? – Seema 2014-09-24 12:30:31

+0

我得到了解決方案。謝謝 – Seema 2014-09-25 10:04:21

+0

你能告訴我解決方案嗎?謝謝@Seema – user3783005 2015-11-03 20:00:37

0
-(void)updateDuration 
{ 
    int remainingDuration = mPlayer.moviePlayer.duration - mPlayer.moviePlayer.currentPlaybackTime; 

    if (mPlayer.moviePlayer.currentPlaybackTime != mPlayer.moviePlayer.duration ) { 

     [btnRemainingDuration setTitle:[NSString stringWithFormat:@"Video ends in %d seconds", remainingDuration] forState:UIControlStateNormal]; 
    } 
}