全网整合营销服务商

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

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

android多媒体音乐(MediaPlayer)播放器制作代码

本文实例为大家分享了android多媒体音乐播放器的具体实现代码,供大家参考,具体内容如下

首先,在AndroidManifest.xml中配置权限 

<!-- 读取手机中的音乐 -->
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

注释:Android多媒体音乐的几种来源

1.在andriod的应用中

MediaPlayer.create(this, R.raw.roar);
//mnt/sdcard/手机内存卡

2.放在自己的sd卡中(内存卡)

mediaPlayer.setDataSource(this, Uri.parse("file://mnt/sdcard/1/123.mp3"));

3.在网络上(要知道哪个路径)

 mediaPlayer.setDataSource(this, Uri.parse("http://192.168.43.202:8080/sister.mp3"));

接下来,在Java代码中写

在onCreate方法中写全局变量:

 private MediaPlayer mediaPlayer;
  private SeekBar seekBar;
private SurfaceView sv_main_suffce;



 public void onplay(View view) throws IOException {
    imageButton = (ImageButton) view;
    if (mediaPlayer==null){
      //播放应用的音频文件
//      mediaPlayer = MediaPlayer.create(this, R.raw.roar);

      //播放内存卡中的音频文件
      mediaPlayer=new MediaPlayer();
      //音频流的类型
      mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
      //设置音频的来源
//      mediaPlayer.setDataSource(this, Uri.parse("file://mnt/sdcard/1/roar.mp3"));
//      mediaPlayer.prepare();//准备一下

      //播放网络音乐
      mediaPlayer.setDataSource(this, Uri.parse("http://192.168.43.202:8080/crickets.mp3"));
      //一步准备
      mediaPlayer.prepareAsync();
      //设置准备完的监听
      mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mediaPlayer) {
          //开始播放
          mediaPlayer.start();
          //点击播放改变图标
          imageButton.setImageResource(android.R.drawable.ic_media_pause);
          //获取音乐的播放最大时间
          int durtion=mediaPlayer.getDuration();
          //设置进度条的最大值为音乐的播放最大时间
          seekBar.setMax(durtion);
          new Mythred().start();
        }
      });
       //给进度条设置一个事件
      seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
          //获取拖动的进度
          int progress=seekBar.getProgress();
          //到那个位置播放
          mediaPlayer.seekTo(progress);
        }
      });
    }
    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);
    }

  }

写了一个子线程 extends Thread(seekbar进度条):

class Mythrod extends Thread{
    @Override
    public void run() {
      super.run();
      while (seekBar.getProgress()<=seekBar.getMax()){
       //获取音乐的当前播放位置
        int currentPosition=mediaPlayer.getCurrentPosition();
        seekBar.setProgress(currentPosition);
      }
    }
  }

另建一个类SoundActivity,通过soundPool例化音频池可以实现多种声音一起播放

//实例化音频池
    soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC,0);
  soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
    @Override
    public void onLoadComplete(SoundPool soundPool, int i, int status) {
     //播放
      soundPool.play(i,1,1,1,-1,1);
    }
  });

//写声音按钮的方法
 public void playKFC(View view){
 //音频池的路径
    soundPool.load(this,R.raw.rooster,1);
  }
  public void playTwo(View view){
    soundPool.load(this,R.raw.chimp,1);
  }
  public void playThree(View view){
    soundPool.load(this,R.raw.crickets,1);
  }
  public void playFour(View view){
    soundPool.load(this,R.raw.roar,1);
  }
  public void playDog(View view){
    soundPool.load(this,R.raw.dogbark,1);
  }

//销毁音频池soundPool
  @Override
  protected void onDestroy() {
    super.onDestroy();
    if(soundPool!=null){
     //释放内存
      soundPool.release();
      soundPool=null;
    }
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# android多媒体音乐播放器  # android音乐播放器  # android  # MediaPlayer  # Android实现使用流媒体播放远程mp3文件的方法  # Android实现多媒体之播放音乐  # Android多媒体之VideoView视频播放器  # Android多媒体教程之播放视频的四种方法  # Android 多媒体播放API简单实例  # Android开发之MediaPlayer多媒体(音频  # 视频)播放工具类  # Android开发之多媒体文件获取工具类实例【音频  # 视频  # 图片等】  # Android开发实现的IntentUtil跳转多功能工具类【包含视频、音频、图片、摄像头等操作功能  # Android开发之媒体播放工具类完整示例  # 进度条  # 内存卡  # 自己的  # 放在  # 播放器  # 要知道  # 写了  # 几种  # 可以实现  # 拖动  # 大家分享  # 具体内容  # 值为  # 大家多多  # 机中  # 全局变量  # http  # playThree 


相关文章: 北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  ,巨量百应是干嘛的?  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  建站三合一如何选?哪家性价比更高?  建站ABC备案流程中有哪些关键注意事项?  如何在万网自助建站平台快速创建网站?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  重庆市网站制作公司,重庆招聘网站哪个好?  外贸公司网站制作哪家好,maersk船公司官网?  建站之家VIP精选网站模板与SEO优化教程整合指南  小型网站制作HTML,*游戏网站怎么搭建?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  建站VPS推荐:2025年高性能服务器配置指南  网站制作说明怎么写,简述网页设计的流程并说明原因?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  建站之星价格显示格式升级,你的预算足够吗?  制作门户网站的参考文献在哪,小说网站怎么建立?  内网网站制作软件,内网的网站如何发布到外网?  Swift中switch语句区间和元组模式匹配  焦点电影公司作品,电影焦点结局是什么?  建设网站制作价格,怎样建立自己的公司网站?  Swift中swift中的switch 语句  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  深圳网站制作案例,网页的相关名词有哪些?  黑客如何利用漏洞与弱口令入侵网站服务器?  建站之星图片链接生成指南:自助建站与智能设计教程  小程序网站制作需要准备什么资料,如何制作小程序?  C#如何在一个XML文件中查找并替换文本内容  小型网站建站如何选择虚拟主机?  北京网站制作的公司有哪些,北京白云观官方网站?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  建站之星后台管理:高效配置与模板优化提升用户体验  成都网站制作公司哪家好,四川省职工服务网是做什么用?  如何通过西部数码建站助手快速创建专业网站?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  建站之星ASP如何实现CMS高效搭建与安全管理?  如何选择美橙互联多站合一建站方案?  如何在自有机房高效搭建专业网站?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  自助网站制作软件,个人如何自助建网站?  Android滚轮选择时间控件使用详解  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  如何在香港服务器上快速搭建免备案网站?  如何通过二级域名建站提升品牌影响力?  建站之星客服服务时间及联系方式如何?  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊? 

您的项目需求

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