亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從媒體播放器獲取剩余歌曲和總持續時間?

如何從媒體播放器獲取剩余歌曲和總持續時間?

瀟湘沐 2022-08-17 17:18:39
朋友們,我不知道如何從媒體播放器中獲取剩余的歌曲和總持續時間。在我的代碼中,我想獲取歌曲的總持續時間和剩余持續時間,并以正確的時間格式顯示在文本視圖中: updateseekbar=new Thread(){                     @Override public  void run(){                  int totalduration=mediaPlayer.getDuration();                  int currnetpostion=0;                  while (currnetpostion<totalduration){                      try{                     sleep(500);                     currnetpostion=mediaPlayer.getCurrentPosition();                     seekBar.setProgress(currnetpostion);                      }catch (Exception e) {                      e.printStackTrace();                      }                  }            }        };為了實現這一目標,我需要做些什么?
查看完整描述

2 回答

?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

正如我在你的代碼中看到的...


總持續時間=歌曲的總時間;


但是如果你想媒體播放器的當前位置。你必須把你的代碼放在可運行的范圍內,并在每秒更新當前位置。


 final Handler handler=new Handler();

    handler.post(new Runnable() {

        @Override

        public void run() {

            int duration=mediaplayer.getcurrentPosition();

            //and update your seekbar from handler

            //change your int to time format...

            String time = String.format("%02d:%02d ", TimeUnit.MILLISECONDS.toMinutes(duration), TimeUnit.MILLISECONDS.toSeconds(duration) -

                            TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(duration)));

             updateseekbar();

            handler.postDelayed(this,1000);

        }

    });

如果你沒有得到它,請再次詢問


查看完整回答
反對 回復 2022-08-17
?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

您可以通過從總持續時間中減去當前持續時間來實現此目的,在您的代碼中,我可以看到您同時具有“總”和“當前持續時間”。

remainingDuration  = totalduration -   currnetpostion=mediaPlayer.getCurrentPosition();

可能是工作你的案例


查看完整回答
反對 回復 2022-08-17
  • 2 回答
  • 0 關注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號