Android MediaPlayer实现音乐播放器

1、布局文件

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

android:id="@+id/hint"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:padding="10px"

android:text="单击“开始”按钮播放音频" />

android:id="@+id/linearLayout1"

android:layout_width="match_parent"

android:layout_height="wrap_content" >

android:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="播放" />

android:id="@+id/button2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:enabled="false"

android:text="暂停" />

android:id="@+id/button3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:enabled="false"

android:text="停止" />

2、MainActivity的成员变量

private MediaPlayer player;//MediaPlayer对象

private boolean isPause = false;//是否暂停

private File file;//要播放的音频文件

private TextView hint;//声明显示提示信息的文本框

3、onCreate()方法中获取组件

final Button button1 = (Button)findViewById(R.id.button1);//获取“播放”按钮

final Button button2 = (Button)findViewById(R.id.button2);//获取“暂停/继续”按钮

final Button button3 = (Button)findViewById(R.id.button3);//获取“停止”按钮

hint = (TextView)findViewById(R.id.hint);//获取用于显示提示信息的文本框

file = new File("/storage/emulated/0/qqmusic/song/乔维怡 - 白月光[mqms2].mp3");//获取要播放的文件

if(file.exists()){

player = MediaPlayer.create(this, Uri.parse(file.getAbsolutePath()));//创建MediaPlayer独享

}else{

hint.setText("要播放的音频文件不存在!");

button1.setEnabled(false);

return;

}

4、编写play()方法

private void play(){

try {

player.reset();

player.setDataSource(file.getAbsolutePath());//重新设置要播放的音频

player.prepare();//预加载音频

player.start();//开始播放

hint.setText("正在播放音频.....");

} catch (Exception e) {

e.printStackTrace();

}

}

5、为MediaPlayer对象添加监听事件,播完重新播放

player.setOnCompletionListener(new OnCompletionListener() {

@Override

public void onCompletion(MediaPlayer mp) {

play();//重新开始播放

}

});

6、为播放添加单击事件监听器

button1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

play();//开始播放音乐

if(isPause){

button2.setText("暂停");

isPause = false;//设置暂停标记变量的值为false

}

button2.setEnabled(true);//“暂停/继续”按钮可用

button3.setEnabled(true);//"停止"按钮可用

button1.setEnabled(false);//“播放”按钮不可用

}

});

7、在“暂停/继续”按钮添加单击事件监听器

button2.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

if(player.isPlaying()&&!isPause){

player.pause();//暂停播放

isPause = true;

((Button)v).setText("继续");

hint.setText("暂停播放音频...");

button1.setEnabled(true);//“播放”按钮可用

}else{

player.start();//继续播放

((Button)v).setText("暂停");

hint.setText("正在播放音频...");

isPause = false;

button1.setEnabled(false);//“播放”按钮不可用

}

}

});

8、停止按钮

button3.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

player.stop();//停止播放

hint.setText("停止播放音频...");

button2.setEnabled(false);//“暂停/继续”按钮不可用

button3.setEnabled(false);//“停止”按钮不可用

button1.setEnabled(true);//“播放”按钮可用

}

});

9、重写Activity的onDestroy()方法

@Override

protected void onDestroy() {

if(player.isPlaying()){

player.stop();//停止音频的播放

}

player.release();//释放资源

super.onDestroy();

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

android自动播放音乐代码,Android MediaPlayer实现音乐播放器实例代码相关推荐

  1. android音乐播放器案例,Android MediaPlayer实现音乐播放器实例代码

    Android MediaPlayer实现音乐播放器 1.布局文件 android:layout_width="fill_parent" android:layout_height ...

  2. 安卓java自实现mp3播放器,Android MediaPlayer实现音乐播放器实例代码

    Android MediaPlayer实现音乐播放器 1.布局文件 android:layout_width="fill_parent" android:layout_height ...

  3. android 自动下一首,Android播播放完SD卡指定文件夹音乐之后,自动播放下一首

    最近做一个项目,需要连续播放音乐,播放完一首歌之后,自动播放完下一首歌.不要重复播放. 代码如下: package com.example.asyncplayer_ex; import java.io ...

  4. android 自动挂断,[转]android 来电自动接听和自动挂断

    注意:android2.3版本不支持下面的自动接听方法.(会抛异常:java.lang.SecurityException: Neither user xxxxx nor current proces ...

  5. android 自动读取短息,Android实现短信验证码自动拦截读取功能

    本文实例为大家分享了Android短信验证码自动拦截读取 的具体代码,供大家参考,具体内容如下 知识准备: 1.观察者模式的理解[文章稍后来到~~] 2.Android的Cursor使用[Androi ...

  6. android webview 多文件上传,Android中的webview支持页面中的文件上传实例代码

    Android webview在默认情况下是不支持网页中的文件上传功能的: 如果在网页中有,在android webview中访问时也会出现浏览文件的按钮 但是点击按钮之后没有反应... 那么如何能够 ...

  7. android自动登录实现框架,Android如何设计并且实现一个注入框架

    1.小强先定了一个小小的目标,让下面的代码可以直接Run起来 public class MainActivity extends InjectorActivity { InjectedObject i ...

  8. android自动登录简书,Android开发之简单登录界面

    用户界面基础 Android系统的四大组件分别是活动(Activity).服务(Service).广播接收器(Broadcast Receiver).内容提供器(Content Provider). ...

  9. android 自动备份到局域网,Android和PC端通过局域网文件同步

    本文为大家分享了Android和PC端通过局域网文件同步的具体代码,供大家参考,具体内容如下 public class FileOptions { public String name; public ...

  10. java wed登录面 代码_JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)...

    下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...

最新文章

  1. mos管开关电路_MOS管的知识,看这一篇就可以了
  2. 编程生涯 21 载,那些我踩过的坑
  3. SAGAN生成更为精细的人脸图像(tensorflow实现)
  4. 【机器学习】机器学习从零到掌握之三 -- 教你使用K近邻算法改进约会网站
  5. MySQL无中心化集群_MySQL Plus 如何做到无中心化、数据强一致性、秒级切换?
  6. 支付宝最不想看到的:当“集五福”变成赚钱生意 有人日入千元!
  7. MyEclipse10 中的两种FreeMarker插件的安装与配置
  8. client does not support authentication
  9. canvas一些属性
  10. p12解析流程_iOS证书及描述文件制作流程详解
  11. 红米note5系统Android11,红米Note5-MIUI11 开发版|超多功能|Xposed|ROOT|桌面布局-刷机之家...
  12. 【应用软件】用jpg+swf制作gif动感小图(附带AVI转gif技巧)
  13. NotePad++ 正则表达式
  14. 嵌入式linux下的触屏模拟
  15. 字谜游戏(b)C语言
  16. conda创建管理虚拟环境
  17. 徐州市纳西科技贸易有限公司 拖欠工资 李东来
  18. 敏捷团队的质量保障赋能
  19. 《操作系统导论》学习笔记(六):逻辑地址空间管理
  20. csp-202206

热门文章

  1. ckplayer6.8 php播放,ckplayer
  2. otlv4 mysql_OTL 使用记录
  3. android常用快捷键大全,AndroidStudio 快捷键使用总结大全
  4. 债券的即期收益率,到期收益率,远期收益率有什么区别?
  5. linux怎么打开隐藏文件夹,如何在文件管理器中隐藏文件和文件夹
  6. 新建linux用户不能登录用户,Linux下useradd命令创建的用户不能登录的问题
  7. Maya入门教程— 如何使用MAYA贴图?MAYA给模型贴图教程
  8. matlab——for循环
  9. BZOJ 3097: Hash Killer I【构造题,思维题】
  10. 实施(运维)工程师 笔试选择题