25

Android でビデオの特定の場所をシークしようとしていますが、動作に一貫性がないために完全に行き詰っています。ここに私がやったことのリストがあります

  1. VideoView.Seekto は、同じミリ秒 (326000 ミリ秒) で、あるビデオでは 5:19、あるビデオでは 5:17、別のビデオでは 5:32 になります!
  2. VideoView は onSeekListener をサポートしていないため、ソースの VideoView を変更してサポートを追加しました。それでも、一時停止して、希望する場所からシークを開始することはありません。常にラグがあります。onSeekListener は、停止したい場所の約 6 秒前にすぐに呼び出されます。多くの場合、onSeekCompleteListener から video.start を呼び出しているにもかかわらず、シーク バーは適切な時間を示し、突然数秒前に戻ります。

なぜこれは矛盾しているのでしょうか?ビデオビューでミリ秒単位で行きたい場所を探す明確な方法はありますか? MediaPLayer + Surface を使用する必要があることはわかっていますが、VideoView は 2 つのラッパーにすぎないため、ソースで変更していますが、役に立ちません。

私はこれを認識しています:http ://code.google.com/p/android/issues/detail?id=9135 しかし、これを回避して明確な方法を持つ方法はありますか

1.) ミリ秒単位の正確な時刻を求める

2.) 正確な時間に一時停止して再開していますか?

4

3 に答える 3

-3

私はこの問題をこのように解決しました

seekTo() 関数が VideoView で機能しない

于 2013-03-30T15:31:39.673 に答える