簡體   English   中英

Android 媒體播放器在暫停后無法啟動

[英]Android mediaplayer won't start after pause

我正在嘗試制作一個簡單的媒體播放器,但暫停按鈕不起作用。 當我單擊暫停按鈕時,它會停止,但是當我再次單擊播放時,它又會從頭開始。

我不知道如何制作一個可以播放/暫停按鈕的按鈕。

我目前擁有的代碼:

http://pastebin.com/wiDkzw5S

已經謝謝了!

您需要保存媒體播放器的當前位置,然后使用seekTo從該位置重新啟動它

就像是:

int currentPos = 0;
pause.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {

        if (mediaPlayer.isPlaying()) {
            currentPos = mediaPlayer.getCurrentPosition();
            mediaPlayer.pause();
            //change image to play
        } else {
            mediaPlayer.seekTo(currentPos);
            mediaPlayer.start();
            //again revert image to pause
        }  
    }
});

希望能幫助到你。

這是運行測試和運行代碼,您可以使用它來暫停和恢復媒體播放器。

int length=0;  
Button pause = (Button) findViewById(R.id.pause);
 pause.setOnClickListener(new OnClickListener() {
 public void onClick(View v) {
 if (mediaPlayer.isPlaying()) {
         mediaPlayer.pause();
        length=mediaPlayer.getCurrentPosition();    
    } else {
        mediaPlayer.seekTo(length);
        mediaPlayer.start();
          }
       }
  });

我有一個類似的問題,但我無法使用上述方法恢復它。

我發現我的 pauseAllSounds() 函數會暫停我的聲音池中的所有 MediaPlayer 實例,即使它們尚未播放。 發生這種情況時,它會在每個未播放的實例中導致錯誤,從而阻止該實例稍后再次播放。 一段時間后,我只是通過在控制台輸出中為我正在運行的進程搜索原因而發生的事情發現了這一點。 它顯示了一行又一行的錯誤,表明我正試圖從無效狀態暫停。

// Make sure you test isPlaying() before pausing
public void pause() {
    if (mediaPlayer.isPlaying()) {
        mediaPlayer.pause();
        position = mediaPlayer.getCurrentPosition();
    }
}

一旦我將測試添加為僅在它已經播放時暫停,一切正常。

暫無
暫無

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

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