<1>
Android中音乐播放器最重要的就是MediaPlayer。

我写的一个音乐播放器就是播放内存中的音乐(raw目录下的音频文件)

mainActivity.java

public class MainActivity extends AppCompatActivity {    private MediaPlayer mediaPlayer;    private SeekBar sb    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        sb = (SeekBar) findViewById(R.id.sb_main_bar);        //给进度条设置滑动的监听        sb.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);            }        });    }    public void isPlayOrPause(View view){        final ImageButton imageButton= (ImageButton) view;        if(mediaPlayer==null){            //播放内存中音频            mediaPlayer = MediaPlayer.create(this, R.raw.f);            mediaPlayer.start();                imageButton.setImageResource(android.R.drawable.ic_media_pause);            int duration=mediaPlayer.getDuration()            sb.setMax(duration)             new MyThread().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 MyThread extends Thread{        @Override        public void run() {            super.run();            while(sb.getProgress()<=sb.getMax()){                //获取音乐当前播放的位置                int position=mediaPlayer.getCurrentPosition();                sb.setProgress(position);            }        }    }}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.zking.g150825_android26_playmusic.MainActivity">    <SeekBar        android:layout_width="0dp"        android:layout_weight="1"        android:layout_height="wrap_content"        android:id="@+id/sb"        />    <ImageButton        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@android:drawable/ic_media_play"        android:onClick="isPlayOrPause"        />LinearLayout>

更多相关文章

  1. 节操视频播放器
  2. android实现调用系统音乐播放器
  3. 2010.11.27———android 展示网络上的图片和播放视频
  4. adb使用查看应用内存使用情况
  5. Android自带Music播放器更新播放时间和进度条的方法
  6. 2010.11.27———android 展示网络上的图片和播放视频
  7. 【视频课程】Android应用开发典型案例分析—主流mp3播放器
  8. Android加载图片导致内存溢出(Out of Memory异常)
  9. Android进程内存上限

随机推荐

  1. Android啓動其他app的Activity
  2. androidのMms模块编辑短彩信
  3. ERROR: Application requires API versio
  4. Android(安卓)实现一个简单的文件上传工
  5. Android之存储
  6. android switch语句case expressions mus
  7. 【转】Android获取用于操作数据库的SQLit
  8. android自动化测试框架
  9. android 异常leaked intentreceiver
  10. 时间控件