我现在做一个项目要播放网络音频,大神们推荐一个音乐播放的库或者相关项目,能实现播放网络音乐就行了,保证服务不崩溃可以一直运行。之前网上找的都不合适,谢谢大家了帮忙提个建议吧!
6条回答 默认 最新
- qq_36810697 2017-12-07 08:46关注
安卓的音乐播放器简单实现 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 &&
- mPlayer.isPlaying()) 条件就不在成立 故else { play(view); } 同时将暂停按钮恢复至初始状态
[java] view plain copy
public void replay(View view) {
if (mPlayer != null && mPlayer.isPlaying()) {
mPlayer.seekTo(0);
} else {
play(view);
}
pause.setText("暂停");
}
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("暂停");
}解决 无用评论 打赏 举报 - mPlayer.isPlaying()) 条件就不在成立 故else { play(view); } 同时将暂停按钮恢复至初始状态
[java] view plain copy
public void replay(View view) {
悬赏问题
- ¥15 求差集那个函数有问题,有无佬可以解决
- ¥15 【提问】基于Invest的水源涵养
- ¥20 微信网友居然可以通过vx号找到我绑的手机号
- ¥15 寻一个支付宝扫码远程授权登录的软件助手app
- ¥15 解riccati方程组
- ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
- ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
- ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
- ¥50 树莓派安卓APK系统签名
- ¥65 汇编语言除法溢出问题