Android源生MediaPlayer音頻播放器,可以播放常見的mp3、m4a、wav格式的音頻文件(親測可用)
1.新建mediaplayer
if (mediaPlayer==null){ mediaPlayer = new MediaPlayer(); // 綁定播放完畢監聽器 mediaPlayer.setOnCompletionListener(this); }
2.播放完成監聽
//播放完成監聽 @Override public void onCompletion(MediaPlayer mp) { Toast.makeText(this,"播放完成",Toast.LENGTH_SHORT).show(); isPlay = false; }
3.播放音頻
try { // 切歌之前先重置,釋放掉之前的資源 mediaPlayer.reset(); // 設置播放源 mediaPlayer.setDataSource(Environment.getExternalStorageDirectory() .getAbsolutePath()+"/recoder/recoder"+index+"."+formatList.get((index-1))); mediaPlayer.setDataSource(Environment.getExternalStorageDirectory().getAbsolutePath()+"/recoder/"+formatList.get((index-1))); // 開始播放前的準備工作,加載多媒體資源,獲取相關信息 mediaPlayer.prepare(); // 開始播放 mediaPlayer.start(); isPlay = true; } catch (IOException e) { e.printStackTrace(); Toast.makeText(this, "play error", Toast.LENGTH_SHORT).show(); }
4.播放/暫停
if (mediaPlayer.isPlaying()) { mediaPlayer.pause(); imgEmoji.setVisibility(View.GONE); imgNoTalk.setVisibility(View.VISIBLE); } else { Toast.makeText(this,"Have been suspended",Toast.LENGTH_SHORT).show(); }}
5.在界面銷燬時候記得銷燬mediaplayer,否則有內存泄漏的風險
if(mediaPlayer!=null){ if (mediaPlayer.isPlaying()){ mediaPlayer.stop(); } mediaPlayer.release(); mediaPlayer = null; }
以上,一個簡單的音樂播放功能就實現了