Android本地音樂播放
主要就是用到MediaPlayer類裡的API
public class MainActivity extends Activity {
private TextView et_path;
private Button bt_play;
private Button bt_pause;
private Button bt_stop;
private Button bt_replay;
private MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init() {
et_path = (TextView) findViewById(R.id.et_path);
bt_play = (Button) findViewById(R.id.bt_play);
bt_pause = (Button) findViewById(R.id.bt_pause);
bt_stop = (Button) findViewById(R.id.bt_stop);
bt_replay = (Button) findViewById(R.id.bt_replay);
}
public void play(View view) {
String path = et_path.getText().toString();
File file = new File(path);
if(!file.exists()){
Toast.makeText(getApplicationContext(), "檔案不存在", Toast.LENGTH_SHORT).show();
return;
}
try {
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(path);
mediaPlayer.prepare();
mediaPlayer.start();
bt_play.setEnabled(false); //設定按鈕不可按
mediaPlayer.setOnCompletionListener(new OnCompletionListener() { //播放完成時的回撥方法
@Override
public void onCompletion(MediaPlayer mp) {
bt_play.setEnabled(true); //設定按鈕可按
}
});
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "播放失敗", Toast.LENGTH_SHORT).show();
}
}
public void pause(View view) {
if(mediaPlayer!=null&&mediaPlayer.isPlaying()){ //在播放狀態按暫停後
mediaPlayer.pause(); //播放暫停
bt_pause.setText("繼續"); //暫停按鈕顯示繼續
}else if(mediaPlayer!=null&&!mediaPlayer.isPlaying()){ //在暫停狀態按繼續後
mediaPlayer.start(); //播放繼續
bt_pause.setText("暫停"); //暫停按鈕顯示暫停
}
}
public void stop(View view) {
if(mediaPlayer!=null&&mediaPlayer.isPlaying()){
mediaPlayer.stop(); //暫停播放
mediaPlayer.release(); //釋放資源
mediaPlayer = null;
}
}
public void replay(View view) {
if(mediaPlayer!=null){
mediaPlayer.reset();
//或者
//mediaPlayer.seekTo(0);
}
}
}
效果如下:
相關文章
- Android開源線上音樂播放器——波尼音樂Android播放器
- Android開源音樂播放器之高仿雲音樂黑膠唱片Android播放器
- c#音樂播放C#
- 音樂播放器播放器
- vue音樂播放器Vue播放器
- Android開源音樂播放器之線上音樂列表自動載入更多Android播放器
- Android 音樂播放器開發實錄(MediaSession)Android播放器Session
- Android通過startService播放背景音樂簡單示例Android
- 千千音樂 for Mac(原百度音樂播放器)Mac播放器
- Android開源音樂播放器之播放器基本功能Android播放器
- 仿網易雲音樂播放介面
- TurnTable for Mac音樂播放器Mac播放器
- Listen 1音樂播放器播放器
- Android本地網路播放Android
- 音樂播放器WordPress外掛 WP-Player (支援網易雲音樂, 蝦米音樂, QQ音樂, 百度音播放器
- H5音樂播放器H5播放器
- Flutter仿網易雲音樂:播放介面Flutter
- TurnTable for Mac(iTunes音樂播放器)Mac播放器
- Mac音樂播放器——TurnTable for MacMac播放器
- vue2.0音樂播放器Vue播放器
- 微信小程式:音樂播放器微信小程式播放器
- 音樂播放器的開發播放器
- 遊戲音樂與音效的播放 (轉)遊戲
- 基於Android的MediaPlayer的音樂播放器的封裝Android播放器封裝
- android 音訊播放 SoundPoolAndroid音訊
- 優質音樂播放器:TurnTable for Mac播放器Mac
- MacYouTube音樂播放器——Muse for MacMac播放器
- 無損音樂播放器Audirvana for mac播放器Mac
- Clementine for Mac - 現代音樂播放器Mac播放器
- 音樂播放器:Swinsian for Mac播放器Mac
- mac音樂播放器:Decibel for MacMac播放器
- react實戰-線上音樂播放器React播放器
- 3分鐘學會iOS音樂播放iOS
- 簡單音樂播放器----java (美。。。。)播放器Java
- js播放背景音樂失敗處理JS
- Android 各版本 SD卡檔案讀寫變化及其音樂播放AndroidSD卡
- Android開源音樂播放器之自動滾動歌詞Android播放器
- 基於Android的音樂播放器的設計與實現Android播放器