1

MPMoviePlayerController 内でビデオを再生するアプリを作成しようとしています。ビデオが一時停止した場合は、thumbnailImageAtTimeでスクリーンショットを撮ります。問題は、一時停止後に MPMoviePlayerController が表示する画像と、thumbnailImageAtTime で取得したスクリーンショットが同じではないことです。

私のコードは次のようになります。

[self.moviePlayer pause]
[self.moviePlayer thumbnailImageAtTime:self.moviePlayer.currentPlaybackTime timeOption:MPMovieTimeOptionExact];

スクリーンショット

どんな助けでも大歓迎です:)

4

1 に答える 1

0

私が使ったのはMPMovieTimeOptionNearestKeyFrame

- (UIImage *)imageFromMovie:(NSURL *)movieURL atTime:(NSTimeInterval)time {
    // set up the movie player
    MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] 
                                   initWithContentURL:movieURL];
    mp.shouldAutoplay = NO;
    mp.initialPlaybackTime = time;
    mp.currentPlaybackTime = time;
    // get the thumbnail
    UIImage *thumbnail = [mp thumbnailImageAtTime:time 
                                       timeOption:MPMovieTimeOptionNearestKeyFrame];
    // clean up the movie player
    [mp stop];
    [mp release];
    return(thumbnail);
}

これを試して

于 2013-06-27T12:23:02.780 に答える