我打算爲我的應用程序編寫自定義媒體控制器。我打算使用seekbar來尋找和展示進展。試圖實現這一點。如何在Android中將Seekbar作爲seekBar以及progressBar同時使用?
有沒有人有這樣的實施,或者我在錯誤的道路上?
我打算爲我的應用程序編寫自定義媒體控制器。我打算使用seekbar來尋找和展示進展。試圖實現這一點。如何在Android中將Seekbar作爲seekBar以及progressBar同時使用?
有沒有人有這樣的實施,或者我在錯誤的道路上?
最後我想通了!
,我想出了這樣的解決方案:
首先設置最大進步搜索條的視頻
videoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
seekBar.setMax(videoView.getDuration());
seekBar.postDelayed(onEverySecond, 1000);
}
});
這可運行將繼續更新進度的時間:
private Runnable onEverySecond=new Runnable() {
@Override
public void run() {
if(seekBar != null) {
seekBar.setProgress(videoView.getCurrentPosition());
}
if(videoView.isPlaying()) {
seekBar.postDelayed(onEverySecond, 1000);
}
}
};
然後進行搜索條的setOnSeekBarChangeListener可以用來把用戶尋求在媒體上。通過使用 FROMUSER布爾我們可以辨認出它是否是一個回調,由於用戶的交互或
seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
if(fromUser) {
// this is when actually seekbar has been seeked to a new position
videoView.seekTo(progress);
}
}
});
您設置了seconday progress。
不,你在正確的軌道上。它非常適合顯示諸如下載進度和流(媒體)的當前位置之類的內容。
感謝您的答覆。 但我正在使用二級進度顯示流量。 我在下面發表我的想法。 –
太棒了!但當視頻結束,我想播放'videoView.start()'它再次seekBar不工作,如何解決這個問題? –