15

initialPlaybackTime プロパティを設定した後、ビデオ (HTTP ストリーミング) は最初から再生されます。

同じコードは iOS <= 8.3 でうまく機能します:

 self.moviePlayer.initialPlaybackTime = self.lastPlaybackTime;
[self.moviePlayer play];
4

3 に答える 3

6

これは私にとってはうまくいきます。基本的には、ムービーの再生開始時に CurrentPlaybackTime を設定する必要があります。ただし、 movieplayerを提示するときに NO に設定され、ムービーが初めて playbackDuration にシークされるときに YES に設定されるフラグのplaybackDurationSetも必要です。.

注:シーク スクラバーからムービーをシークすると、moviePlayerPlaybackStateChangedMPMoviePlaybackStatePlayingの PlaybackState で起動されるため、このフラグが必要です。

BOOL playbackDurationSet = NO;
- (void)moviePlayerPlaybackStateChanged:(NSNotification*)notification
{
    MPMoviePlayerController* player = (MPMoviePlayerController*)notification.object;
    switch ( player.playbackState ) {
        case MPMoviePlaybackStatePlaying:
        if(!playbackDurationSet){
           [self.moviePlayer setCurrentPlaybackTime:yourStartTime];
           playbackDurationSet = YES;
        }
        break;
    }
}

- (void)moviePlayerPresented
{
      playbackDurationSet = NO;
}
于 2015-07-13T09:26:59.817 に答える