簡體   English   中英

將SeekBar連接到MediaPlayer無法正常工作

[英]Connecting SeekBar to MediaPlayer isn't working

我一直在遵循一個教程,以實現對我的應用程序的SeekBar ,但它不起作用。 這就是我要嘗試的方法。

public void run(){
    int currentPosition = 0;
    int total = player.getDuration();
    sBar.setMax(total);

    while (player.isPlaying()) {
        try {
            Thread.sleep(1000);
            currentPosition = player.getCurrentPosition();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        sBar.setProgress(currentPosition);
    }
}

sBar是我聲明為全局變量的SeekBar

現在的問題是,教程中沒有提到可以在何處調用該運行方法? 我嘗試在MediaPlayer啟動后立即調用它,但是它不起作用。

這顯然是要放在Thread對象中的-一個無限循環,一次休眠一秒鍾。 它無法進入UI線程,否則將凍結您的應用程序。

我對此采取了完全不同的方法,並且有效。 這是我現在做的事情:

Runnable run = new Runnable(){

    @Override
    public void run() {
        seekBarUpdate();
    }

};

public void seekBarUpdate(){
    sBar.setMax(player.getDuration());
    sBar.setProgress(player.getCurrentPosition());
    seekHandler.postDelayed(run, 25);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM