Android でビデオの特定の場所をシークしようとしていますが、動作に一貫性がないために完全に行き詰っています。ここに私がやったことのリストがあります
- VideoView.Seekto は、同じミリ秒 (326000 ミリ秒) で、あるビデオでは 5:19、あるビデオでは 5:17、別のビデオでは 5:32 になります!
- VideoView は onSeekListener をサポートしていないため、ソースの VideoView を変更してサポートを追加しました。それでも、一時停止して、希望する場所からシークを開始することはありません。常にラグがあります。onSeekListener は、停止したい場所の約 6 秒前にすぐに呼び出されます。多くの場合、onSeekCompleteListener から video.start を呼び出しているにもかかわらず、シーク バーは適切な時間を示し、突然数秒前に戻ります。
なぜこれは矛盾しているのでしょうか?ビデオビューでミリ秒単位で行きたい場所を探す明確な方法はありますか? MediaPLayer + Surface を使用する必要があることはわかっていますが、VideoView は 2 つのラッパーにすぎないため、ソースで変更していますが、役に立ちません。
私はこれを認識しています:http ://code.google.com/p/android/issues/detail?id=9135 しかし、これを回避して明確な方法を持つ方法はありますか
1.) ミリ秒単位の正確な時刻を求める
2.) 正確な時間に一時停止して再開していますか?