我现在做一个项目要播放网络音频,大神们推荐一个音乐播放的库或者相关项目,能实现播放网络音乐就行了,保证服务不崩溃可以一直运行。之前网上找的都不合适,谢谢大家了帮忙提个建议吧!
安卓的音乐播放器简单实现 i
1 播放
2 暂停
3 重播
4 停止
1.开始播放 业务逻辑 1 直接播放,当按钮按下时 将播放按钮设置为不可用状态
2 当音乐播放完毕是将音乐按钮重新设置为可以播放的状态
[java] view plain copy
public void play(View view) {
String filepath = et_path.getText().toString();
File file = new File(filepath);
if (file.exists()) {
try {
mPlayer = new MediaPlayer();
mPlayer.setDataSource(filepath);
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.prepare();
mPlayer.start();
} catch (Exception e) {
Toast.makeText(MainActivity.this, "播放失败", 0).show();
e.printStackTrace();
}
play.setEnabled(false);
mPlayer.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
play.setEnabled(true);
}
});
} else {
// 播放的文件不存在
Toast.makeText(MainActivity.this, "播放的文件不存在", 0).show();
}
}
2 暂停播放时需要注意 1 首先按下暂停按钮式 音乐停止播放
2 此时mpayer!=null但是音乐也没有播放 故if (mPlayer !=null && mPlayer.isPlaying())条件不成立 所以用了如下代码if("继续".equals(pause.getText().toString())) { mPlayer.start();pause.setText("暂停"); return; }
[java] view plain copy
public void pause(View view) {
if ("继续".equals(pause.getText().toString())) {
mPlayer.start();
pause.setText("暂停");
return;
}
if (mPlayer != null && mPlayer.isPlaying()) {
mPlayer.pause();
pause.setText("继续");
}
}
3 重播功能 1 当按下按钮时 音乐重新开始播放 但是 当按过暂停按钮时 if (mPlayer != null &&
4停止功能 满足 1 按下按钮音乐停止 将一切状态置为初始化状态
[java] view plain copy
public void stop(View view) {
if (mPlayer != null && mPlayer.isPlaying()) {
mPlayer.stop();
mPlayer.release();
mPlayer = null;
}
play.setEnabled(true);
pause.setText("暂停");
}
可以直接用前端vedio就可以实现这个功能了吧
现在现成的多的是你要的话可以发你个!
1.暂停,播放
2.拖动条实现,快进,快退
3.歌词同步
4.下一曲,上一曲。
5.专辑图片显示
6.后台播放,通知栏显示
7.来电话,暂停,电话结束,开始播放。
public void start() {
try {
mediaPlayer.start();//开始播放
//设置进度条长度
seekBar.setMax(mediaPlayer.getDuration());
//发送一个Runnable, handler收到之后就会执行run()方法
handler.post(new Runnable() {
public void run() {
// 更新进度条状态
if (!isStartTrackingTouch)
//获取当前播放音乐的位置
seekBar.setProgress(mediaPlayer.getCurrentPosition());
// 1秒之后再次发送
handler.postDelayed(this, 1000);
}
});
//setOnCompletionListener 当当前多媒体对象播放完成时发生的事件
mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer arg0) {
next();//如果当前歌曲播放完毕,自动播放下一首.
}
});
} catch (Exception e) {
Log.v("MusicService", e.getMessage());
}
}
MediaPlayer就可以实现的