MPMoviePlayerController をメディア プレーヤーとして使用しています。メソッドを使用してシークしようとしています (movieController は MPMoviePlayerController のインスタンスです)
-(void)seekToTime:(NSTimeInterval)time
{
[movieController setCurrentPlaybackTime:time];
[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(printCurrentPlaybacktime) userInfo:nil repeats:YES];
}
ご覧のとおり、シーク後、現在の再生時間をすばやく出力します。問題はこれです - 開始時の現在の再生時間は、私が設定した実際の新しい時間です。しばらくすると、現在の再生時間は再生時間を変更する前の古い時間になり、しばらくすると新しい実際の時間に戻ります。ユーザーにとっての結果は、シーク スライダーがジャンプしていることです。
これがログです
907] print [movieController currentPlaybackTime] = 3660.000000 2012-10-02 11:58:27.518 Comigo[1067:907] print [movieController currentPlaybackTime] = 3660.000000 2012-10-02 11:58:27.521 Comigo[1067:907] print [ movieController currentPlaybackTime] = 3660.000000 2012-10-02 11:58:27.525 Comigo[1067:907] print [movieController currentPlaybackTime] = 3660.000000 2012-10-02 11:58:27.529 Comigo[1067:907] print [movieController currentPlaybackTime] = 3660.000000 2012-10-02 11:58:27.531 Comigo[1067:907] print [movieController currentPlaybackTime] = 3660.000000 2012-10-02 11:58:27.535 Comigo[1067:907] print [movieController currentPlaybackTime] = 3620-1010 -02 11:58:27.538 Comigo[1067:907] print [movieController currentPlaybackTime] = 3660.000000} いくつかの行を削除します (多数あるため)。そうしないで ログの日付に注意してください。どうもありがとう