2

MPMoviePlayer を使用してムービーを再生しています。映画を再生し、ユーザーがボタンを押すだけで映画の特定の時間にスキップできるようにしたいと考えています。

プレーヤーの currentPlaybackTime プロパティを設定していますが、機能していないようです。代わりに、使用する値に関係なく、映画を最初から統計するだけです。

また、ボタンをクリックして currentPlaybackTime プロパティをログに記録すると、常に大きな数値が返されますが、マイナスの値が返されることもあります?! これは期待されていますか?(例: -227361412)

以下のサンプルコード:

- (IBAction) playShake 
{   
        NSLog(@"playback time = %d",playerIdle.currentPlaybackTime);    
        [self.playerIdle setCurrentPlaybackTime:2.0];
        return;
}
4

2 に答える 2

4

私は過去に映画のポイントにスキップするこの方法をうまく使用しました. あなたの問題は実際にはビデオ自体にあると思われます。currentPlaybackTime を設定すると、MPMoviePlayer はビデオの最も近いキーフレームにスキップします。ビデオにほとんどキーフレームがない場合、または数秒だけ前方にスキップしている場合、currentPlaybackTime を変更すると、ビデオが最初からやり直す可能性があります。

于 2011-03-01T16:44:47.797 に答える
2

-currentPlaybackTimeNSTimeInterval (double)は、印刷している a を符号付き int として返します。これにより、予期しない値が発生します。int にキャストするか(int)playerIdle.currentPlaybackTime、 doubleを出力してみてください%1.3f

于 2011-02-21T03:39:22.943 に答える