VideoViewを持つアプリケーションがあり、VideoViewで再生するようにビデオを設定しました。ビデオが再生されている間は、一時停止します。その後、一時停止した後、再びビデオを再生し始めますが、一時停止していなければビデオが来るようにします。だから、例えばVideoView getCurrentPosition()Acerの不規則性アイコンA200
ビデオはビデオ
ビデオは10秒間一時停止したまま
ビデオは、私はビデオを開始するこの時点で---再び<の再生を開始6秒で一時停止
の再生を開始します16秒のマークで演奏する。私はビデオがのために一時停止されたどのくらい知っているので、
は、この効果を達成するために、私は必要な計算を行うためにタイムスタンプを設定している、と私は再びそれを起動するときに、私はすべてのmVideoView.seekTo(timePlayed + timePaused);
これを呼び出しますToshiba Thrive、およびMotorola Xoomで意図したとおりに動作します。しかし、Acer Iconia A200についてseekTo()を呼び出すと、VideoViewはgetCurrentPosition()
を呼び出すと常に同じ時刻に戻ります。これを説明するために、現在の位置を記録する約1000msごとに起動する実行可能ファイルを設定します。私が行った後、これはVideoViewは常に私がに渡すものは何でも返します呼び出すようですので
/****************
* These are from before it is paused/resumed
* you can see that the current time is functioning
* as expected.
******************/
Current Position = 0
Current Position = 734
Current Position = 1735
Current Position = 2703
Current Position = 3737
Current Position = 4738
Current Position = 5739
Current Position = 6740
Current Position = 7741
Current Position = 8742
Current Position = 9743
/**********************************
* These are from the exact same runnable
* after the video has been paused, and
* started again after seekTo().
* The position is no longer increasing.
* Note that the video is playing correctly on the screen
* while these logs happen.
**********************************/
Current Position = 23410
Current Position = 23410
Current Position = 23410
Current Position = 23410
23410は、私がseekTo()に渡しています正確な時間である:ここでは、その出力の一部がありますそれは実際にまだ演奏されていて、ポジションが進んでいても関係ありません。
誰かがこのVideoView/MediaPlayerのバグを経験したことがありますか?私は、MediaPlayerがgetCurrentPosition()の不正確な値を返すことについて話していた既知の問題グループでいくつかを見ましたが、このような増加をやめる場所を見つけませんでした。私が見たもののほとんどは、ビデオではなくオーディオを再生しようとしていました。
pause()の後に続行するにはresume()を使用しますか?私のIconia A501で動作しないレジューム。 getCurrentPosition()はseekに渡された値を返しますが、ビデオはまだ一時停止しています。 – asktomsk
コードの例を送信できますか?私は自分のタブレットをチェックします。 – asktomsk
私はあなたと同じ問題を見たことがありませんが、getCurrentPositionが不安定に動作するのを見ました。シークの位置が0でないときに0を返すことがあります。 – MaximumGoat