2012-03-20 8 views
1

MPMoviePlayerViewControllerのMPMoviePlayerControllerのcurrentPlaybackTimeプロパティを設定して、その時点からビデオ(HLSストリーム)の再生を再開させようとしています。ここに私のコードは次のとおりです。MPMoviePlayerViewControllerが現在の再生時間を設定できません

//the functinon that sets playback time 
    - (void)setCurrentPlayTime:(NSNumber *)time { 
     if (self.moviePlayer.currentPlaybackTime < [time floatValue] - 10.0) { 
      [self.moviePlayer setCurrentPlaybackTime:(NSTimeInterval)[time floatValue]]; 
     } 
    } 

    //app did become active callback 
    - (void) applicationDidBecomeActiveNotification:(NSNotification*)notification { 
     if (!isnan(_curPlayTime) && _curPlayTime > 0.0) { 
      [self performSelector:@selector(setCurrentPlayTime:) withObject:[NSNumber numberWithFloat:_curPlayTime] afterDelay:0.1]; 
     } 
    } 

    //player load state did change callback 
    -(void)playerLoadStateDidChange:(NSNotification *)notification { 
    MPMoviePlayerController *player = notification.object; 
    MPMovieLoadState loadState = player.loadState; 
if (loadState & MPMovieLoadStatePlaythroughOK) { 
     if (!isnan(_curPlayTime) && _curPlayTime > 0.0) { 
      [self performSelector:@selector(setCurrentPlayTime:) withObject:[NSNumber numberWithFloat:_curPlayTime] afterDelay:0.1]; 
      _curPlayTime = 0.0; 
     } 
} 

私はちょうどホームボタンをタップしてアプリを再度開き、そしてまた、私は、着信コールを取得し、それを拒否した場合、それが動作するとき。しかし、私が着信呼び出しに応答すると、呼び出しを終了した後、0.0のsetCurrentPlaybackTimeメソッド呼び出しを無視して再生が開始されます。誰が知っていますか、問題はどこにありますか、どのように正しく動作するようにすべきかの例がありますか?

答えて

-2

これが問題であるが、検索するセレクタがsetCurrentPlayTimeでないことがわかりません。setCurrentPlay * 戻る *時間。

+0

currentPlayTimeプロパティまたはsetCurrentPlayTimeがMPMoviePlayerControllerインターフェイスまたはMPMediaPlayback Protocolのいずれにも見つかりませんでした。あなたはそれのためのドキュメントへのリンクを与えてください。 –

+0

プロパティcurrentPlaybackTime http://developer.apple.com/library/ios/#documentation/mediaplayer/reference/MPMediaPlayback_protocol/Reference/Reference.html – Nuthinking

+0

だからそれはまだcurrentPlay *バック*時間、ないcurrentPlayTimeだsetCurrentPlaybackTimeそのセッターはそれゆえであります。 –

関連する問題