工作有一個問題在我的申請,我想用seekTo()函數VideoView這樣的:的seekTo()函數不VideoView
videoView.seekTo(time);
videoView.start();
它運作良好,在Android 2.2系統,但在android 2.3或更高版本中不起作用... 有些人會告訴我爲什麼?
工作有一個問題在我的申請,我想用seekTo()函數VideoView這樣的:的seekTo()函數不VideoView
videoView.seekTo(time);
videoView.start();
它運作良好,在Android 2.2系統,但在android 2.3或更高版本中不起作用... 有些人會告訴我爲什麼?
爲了正確操作seekTo()
方法,視頻狀態應該在PlaybackState
。
結賬的VideoView
source here獲取更多信息。
撥打VideoView.start()
只能在搜索結束後才能撥打。致電VideoView.seekTo()
發起尋找,但不幸的是VideoView
不支持OnSeekCompleteListener
需要通知搜索實際完成。
您可以自定義VideoView
以支持OnSeekCompleteListener
,如my answer to 7990784所示。
然後,您可以通過致電setOnSeekCompleteListener()
註冊以獲得onSeekComplete()
。然後,您的聽衆實施應該叫VideoView.start()
。
這簡直就是最好的答案。易於實施和實際工作。我在'onPrepared()'中獲得對'MediaPlayer'的引用,並用它來完成剩下的事情(設置'OnSeekListener'並調用'seekTo()')。 – Sufian 2015-06-04 10:44:54
您是否嘗試過VideoView類Vitamio library?
該解決方案應該可以工作。 問題可能是videoView
中的媒體播放器尚未創建。
通過改變設備的方向很容易進行測試。這就是我對它的測試。
videoView.setOnPreparedListener(onPreparedListener);
private MediaPlayer.OnPreparedListener onPreparedListener = new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
mp.seekTo(videoPosition);
}
};
你確定你等了很長時間才決定它不工作嗎?例如,在我的一部LG手機中,seekTo就像永遠一樣。而在我的其他LG手機上,其實並不是那麼糟糕 – 2013-11-04 23:51:17