基于Android的音乐播放器代码
时间: 2023-09-04 10:11:13 浏览: 77
android 音乐播放器 代码
5星 · 资源好评率100%
以下是一个基于Android的音乐播放器的代码示例,主要包括音频文件的获取、播放控制、进度条更新等功能:
```java
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private MediaPlayer mediaPlayer;
private Button btnPlay, btnPause, btnStop;
private SeekBar seekBar;
private Handler handler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnPlay = findViewById(R.id.btn_play);
btnPause = findViewById(R.id.btn_pause);
btnStop = findViewById(R.id.btn_stop);
seekBar = findViewById(R.id.seek_bar);
btnPlay.setOnClickListener(this);
btnPause.setOnClickListener(this);
btnStop.setOnClickListener(this);
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
seekBar.setMax(mediaPlayer.getDuration());
mediaPlayer.start();
updateSeekBar();
}
});
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (fromUser) {
mediaPlayer.seekTo(progress);
seekBar.setProgress(progress);
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
}
private void updateSeekBar() {
seekBar.setProgress(mediaPlayer.getCurrentPosition());
if (mediaPlayer.isPlaying()) {
Runnable runnable = new Runnable() {
@Override
public void run() {
updateSeekBar();
}
};
handler.postDelayed(runnable, 1000);
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_play:
try {
mediaPlayer.reset();
mediaPlayer.setDataSource("audio.mp3");
mediaPlayer.prepareAsync();
} catch (IOException e) {
e.printStackTrace();
}
break;
case R.id.btn_pause:
if (mediaPlayer.isPlaying()) {
mediaPlayer.pause();
}
break;
case R.id.btn_stop:
mediaPlayer.stop();
mediaPlayer.reset();
break;
default:
break;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
mediaPlayer.release();
mediaPlayer = null;
}
}
```
这段代码实现了一个简单的音乐播放器,包括三个按钮:播放、暂停、停止,以及一个进度条用于显示和控制音乐播放进度。在播放按钮被点击时,代码会加载并播放名为"audio.mp3"的音频文件;在暂停按钮被点击时,代码会暂停当前的播放;在停止按钮被点击时,代码会停止当前的播放并重置播放器。同时,进度条会不断更新以显示当前的播放进度。
阅读全文