利用Android开发一个音乐播放器-创新互联
本篇文章为大家展示了利用Android开发一个音乐播放器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

读取本地音乐文件
源代码:
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
import android.widget.SeekBar;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private MediaPlayer mediaPlayer;
private SeekBar seekBar;
private TextView tv_mian_stop;
private TextView tv_mian_start;
private int musicaction;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_mian_start = (TextView) findViewById(R.id.tv_mian_start);
tv_mian_stop = (TextView) findViewById(R.id.tv_mian_stop);
seekBar = (SeekBar) findViewById(R.id.seekBar);
//进度条的监听事件
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
//改变
//每当进度条发生改变时tv_mian_start的值发生变化
//new TimeUtil().secToTime()一个外部类(时间格式转化)
tv_mian_start.setText(new TimeUtil().secToTime(mediaPlayer.getCurrentPosition()/1000)+"");
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
//开始
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
//结束
//获取拖动结束之后的位置
int progrss=seekBar.getProgress();
mediaPlayer.seekTo(progrss);
}
});
}
public void isPlay(View view){
ImageButton imageButton= (ImageButton) view;
if (mediaPlayer==null){
mediaPlayer = MediaPlayer.create(this, R.raw.seve);
mediaPlayer.start();
//把图标修改为暂停的图标
imageButton.setImageResource(android.R.drawable.ic_media_pause);
//获取音乐的总时长
int muiscsum=mediaPlayer.getDuration();
//设置进度条的大值为总时长
seekBar.setMax(muiscsum);
//执行一个多线程的耗时操作
new MyThread().start();
tv_mian_stop.setText(new TimeUtil().secToTime(muiscsum/1000)+"");
}else if (mediaPlayer.isPlaying()){
mediaPlayer.pause();
imageButton.setImageResource(android.R.drawable.ic_media_play);
}else{
mediaPlayer.start();
imageButton.setImageResource(android.R.drawable.ic_media_pause);
}
}
class MyThread extends Thread{
@Override
public void run() {
super.run();
//当进度条的当前值小于大值时进度条发生改变
while(seekBar.getProgress()<=seekBar.getMax()){
//获取当前音乐播放的位置
musicaction = mediaPlayer.getCurrentPosition();
//让进度条动起来
seekBar.setProgress(musicaction);
}
}
}
} 网站栏目:利用Android开发一个音乐播放器-创新互联
URL网址:http://www.jxjierui.cn/article/descps.html


咨询
建站咨询
