全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android MediaPlayer实现音乐播放器实例代码

Android MediaPlayer实现音乐播放器

1、布局文件

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  android:orientation="vertical" > 
 
  <TextView 
    android:id="@+id/hint" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="10px" 
    android:text="单击“开始”按钮播放音频" /> 
 
  <LinearLayout 
    android:id="@+id/linearLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 
  <Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="播放" /> 
 
  <Button 
    android:id="@+id/button2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:enabled="false" 
    android:text="暂停" /> 
 
  <Button 
    android:id="@+id/button3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:enabled="false" 
    android:text="停止" /> 
  </LinearLayout> 
</LinearLayout> 

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  # MediaPlayer  # 音乐播放器的开发实例  # MediaPlayer音乐播放器  # Android实现简单音乐播放器(MediaPlayer)  # Android简易音乐播放器实现代码  # 教你轻松制作Android音乐播放器  # android暂停或停止其他音乐播放器的播放实现代码  # Android编程开发音乐播放器实例  # Android音乐播放器制作 扫描本地音乐显示在手机(一)  # android实现音乐播放器进度条效果  # 简单实现Android本地音乐播放器  # Android 音乐播放器的开发实例详解  # Android实现简单的音乐播放器  # 不可用  # 单击  # 提示信息  # 正在播放  # 文本框  # 播放器  # 希望能  # 不存在  # 重写  # 谢谢大家  # 独享  # 值为  # 加载  # text  # px  # Button  # match_parent  # wrap_content  # pre 


相关文章: 如何撰写建站申请书?关键要点有哪些?  北京企业网站设计制作公司,北京铁路集团官方网站?  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  实现虚拟支付需哪些建站技术支撑?  网站制作免费,什么网站能看正片电影?  建站主机选哪种环境更利于SEO优化?  宝塔建站后网页无法访问如何解决?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  安云自助建站系统如何快速提升SEO排名?  建站168自助建站系统:快速模板定制与SEO优化指南  建站之星各版本价格是多少?  python的本地网站制作,如何创建本地站点?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  如何选择适配移动端的WAP自助建站平台?  如何在建站主机中优化服务器配置?  个人摄影网站制作流程,摄影爱好者都去什么网站?  常州企业建站如何选择最佳模板?  Thinkphp 中 distinct 的用法解析  c# 在高并发场景下,委托和接口调用的性能对比  重庆网站制作公司哪家好,重庆中考招生办官方网站?  制作电商网页,电商供应链怎么做?  ,巨量百应是干嘛的?  如何通过虚拟主机空间快速建站?  婚礼视频制作网站,学习*后期制作的网站有哪些?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  网站网页制作专业公司,怎样制作自己的网页?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  如何在IIS中新建站点并配置端口与IP地址?  建站与域名管理如何高效结合?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  已有域名能否直接搭建网站?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  如何在阿里云ECS服务器部署织梦CMS网站?  制作表格网站有哪些,线上表格怎么弄?  如何用PHP工具快速搭建高效网站?  网站制作网站,深圳做网站哪家比较好?  Android滚轮选择时间控件使用详解  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  如何高效生成建站之星成品网站源码?  宝塔建站助手安装配置与建站模板使用全流程解析  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  定制建站如何定义?其核心优势是什么?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  seo网站制作优化,网站SEO优化步骤有哪些?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  上海网站制作开发公司,上海买房比较好的网站有哪些?  免费制作小说封面的网站有哪些,怎么接网站批量的封面单? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。