[英]How to check if an audio is playing with Android MediaPlayer?
在我有一個列表視圖的情況下,單擊時每個列表項中都是音頻,並且在單擊所需項目時播放。
當您單擊多個項目時,音頻會混合。
我想知道如何單擊一個項目並播放,如果我想要另一個項目,單擊它時先前的音頻停止並且 clicaco 項目的音頻開始。
我嘗試使用下面的代碼,但是當我單擊另一個項目時音頻不會停止。
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
mediaPlayer = MediaPlayer.create(MainActivity.this, caminhoAudio[position]);
if ( !(mediaPlayer.isPlaying()) )
{
tocarSom();
}
}
});
}
public void tocarSom() {
if (mediaPlayer != null)
{
mediaPlayer.start();
}
// LIBERAR MEMÓRIA
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mediaPlayer) {
mediaPlayer.release();
};
});
}
謝謝!!!
好吧,如果您的方法startAudio()自動執行開始播放歌曲所需的所有操作,則必須在mediaPlayer.release()之后調用startAudio()。
做這樣的事情。
if(mMediaPlayer!=null)
{
mMediaPlayer.release();
mMediaPlayer=null;
}
if(mMediaPlayer!=null)
{
//Fist stop the current playing raw file
mMediaPlayer.stop();
mMediaPlayer.release();
mMediaPlayer=null;
//Then Play the selected raw file.
tocarSom();
}else{
//If nothing is playing then Play the selected raw file or audio
tocarSom();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.