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

1.播放项目内的音乐

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 package com.thm.g150820_android26_playmusic; import Android.media.MediaPlayer; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ImageButton; import android.widget.SeekBar;   public class MainActivity extends AppCompatActivity {   private MediaPlayer mediaPlayer; private SeekBar seekBar;   @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); seekBar = (SeekBar) findViewById(R.id.seekBar);   seekBar.setOnSeekBarChangeListener( new SeekBar.OnSeekBarChangeListener() {   @Override   public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {     }     @Override   public void onStartTrackingTouch(SeekBar seekBar) {     }     @Override   public void onStopTrackingTouch(SeekBar seekBar) {    //获取拖动结束之后的位置    int progress = seekBar.getProgress();    //跳转到某个位置播放    mediaPlayer.seekTo(progress);   } }); }   public void isPlayOrPause(View view){ //把View强转为ImageButton ImageButton imageButton = (ImageButton) view;   if (mediaPlayer== null ) {   //实例化MediaPlayer   mediaPlayer = MediaPlayer.create( this , R.raw.yao);   //开始播放   mediaPlayer.start();   //图标修改为暂停的图标   imageButton.setImageResource(android.R.drawable.ic_media_pause);   //获取音乐的总时长   int duration = mediaPlayer.getDuration();   //设置进度条的最大值为音乐的总时长   seekBar.setMax(duration);     new MyThre().start();   } //判断如果音乐在播放 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); } }   //写内部类 class MyThre extends Thread{ @Override public void run() { super .run(); while (seekBar.getProgress()<=seekBar.getMax()){      //获取当前音乐播放的位置    int currentPosition = mediaPlayer.getCurrentPosition();      //让进度条动起来    seekBar.setProgress(currentPosition);    }   } } }

2.播放内存卡中的音乐

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 package com.thm.g150820_android26_playmusic;   import android.media.AudioManager; import android.media.MediaPlayer; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.ImageButton; import android.widget.SeekBar;   import java.io.IOException;   public class MainActivity extends AppCompatActivity {     private MediaPlayer mediaPlayer;   private SeekBar seekBar;     @Override   protected void onCreate(Bundle savedInstanceState) {    super .onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    seekBar = (SeekBar) findViewById(R.id.seekBar);      seekBar.setOnSeekBarChangeListener( new SeekBar.OnSeekBarChangeListener() {     @Override     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {       }       @Override     public void onStartTrackingTouch(SeekBar seekBar) {       }       @Override     public void onStopTrackingTouch(SeekBar seekBar) {      //获取拖动结束之后的位置      int progress = seekBar.getProgress();      //跳转到某个位置播放      mediaPlayer.seekTo(progress);     }    });   }       public void isPlayOrPause(View view){    //把View强转为ImageButton    ImageButton imageButton = (ImageButton) view;      if (mediaPlayer== null ) {     //实例化MediaPlayer     //播放应用内的音乐     //mediaPlayer = MediaPlayer.create(this, R.raw.yao);       //播放内存卡中的音乐     mediaPlayer = new MediaPlayer();       //设置类型     mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);     //设置音乐路径     try {      mediaPlayer.setDataSource( this , Uri.parse( "storage/sdcard0/Music/a.mp3" ));      //播放之前准备一下      mediaPlayer.prepare();     } catch (IOException e) {      e.printStackTrace();     }         //开始播放     mediaPlayer.start();     //图标修改为暂停的图标     imageButton.setImageResource(android.R.drawable.ic_media_pause);     //获取音乐的总时长     int duration = mediaPlayer.getDuration();     //设置进度条的最大值为音乐的总时长     seekBar.setMax(duration);       new MyThre().start();      } //判断如果音乐在播放    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);    }   }     //写线程内部类   class MyThre extends Thread{    @Override    public void run() {     super .run();     while (seekBar.getProgress()<=seekBar.getMax()){        //获取当前音乐播放的位置      int currentPosition = mediaPlayer.getCurrentPosition();        //让进度条动起来      seekBar.setProgress(currentPosition);     }    }   } }

3.添加读取内存的权限

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

如对本文有疑问,请提交到交流社区,广大热心网友会为你解答!! 点击进入社区

更多相关文章

  1. [转] Android 在程序中如何动态的修改程序图标
  2. Android9.0 修改状态栏图标之间的间距
  3. android EditText插入字符串到光标所在位置
  4. Android 热更新ICON图标
  5. Android拖动控件改变其位置
  6. android 音乐播放器添加音乐分享功能
  7. Android使用supportv7包实现网易云音乐首页titlebar

随机推荐

  1. c语言字符串定义的方法是什么
  2. c语言除法如何运算
  3. c语言二进制输出的方法
  4. c语言简单小游戏-扫雷游戏
  5. c语言程序的调试方法
  6. c语言求x的n次方的函数是什么
  7. c语言中合法的字符常量如何定义?
  8. c语言逗号表达式的运算规则
  9. executenonquery 的用法详解
  10. c语言允许函数的递归调用吗