• 布局文件

     
  • java文件

public class MainActivity extends AppCompatActivity {    private SeekBar main_sb;    private ImageButton main_ib;    private MediaPlayer mediaplayer;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //获取控件id        main_sb = findViewById(R.id.main_sb);        main_ib = findViewById(R.id.main_ib);        //设置按钮初始图标        main_ib.setImageResource(android.R.drawable.ic_media_play);        main_ib.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                //判断                if (mediaplayer==null){                    //放入歌曲                    mediaplayer=MediaPlayer.create(MainActivity.this,R.raw.mmd);                    //设置进度条最大长度为音频时长                    main_sb.setMax(mediaplayer.getDuration());                    //开始播放                    mediaplayer.start();                    //使按钮变为暂停图标                    main_ib.setImageResource(android.R.drawable.ic_media_pause);                    //线程开始运行                    new  myThread().start();                }else if (mediaplayer.isPlaying()){                     //如果正在播放 (暂停)                    mediaplayer.pause();                    //改变按钮为播放                    main_ib.setImageResource(android.R.drawable.ic_media_play);                }else{                    //如果没有播放 (播放)                    main_ib.setImageResource(android.R.drawable.ic_media_pause);                }            }        });    //设置进度条快进效果main_sb.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) {    mediaplayer.seekTo(main_sb.getProgress());    }});    }    //设置一个线程运行进度条    class  myThread extends Thread{        @Override        public void run() {            super.run();            //判断当前播放位置是否小于总时长            while (main_sb.getProgress()<=main_sb.getMax()) {                //设置进度条当前位置为音频播放位置                main_sb.setProgress(mediaplayer.getCurrentPosition());            }        }    }}

 

更多相关文章

  1. android 拖拽图片&拖动浮动按钮到处跑
  2. android 根据apk文件路径获取图标
  3. Android 子线程 更新 UI 界面 总结
  4. Android SystemUI状态栏添加图标
  5. 获取未安装的APK图标
  6. Android 自定义shape圆形按钮
  7. Android点击2次返回按钮退出应用程序
  8. Android非UI线程访问UI线程的方法总结

随机推荐

  1. Android系统自带样式(android:theme)
  2. Android本地动作
  3. Android(安卓)禁止屏幕旋转和重启Activit
  4. Android(安卓)游戏开发中横竖屏切换问题
  5. Android提供的系统服务之--WindowManager
  6. [转]: 两分钟彻底让你明白Android(安卓)A
  7. Android的控件属性
  8. 驾考一点通 android
  9. 扣丁学堂笔记第05天高级UI组件(一)
  10. Android之AudioRecord实现"助听器"