Android学习之使用seekbar进行歌曲的同步

记录一下这个简单的功能而已。
先创建一个线程类
在此之前,你需要获取到歌曲,然后得到它的duration。
使用mediaPlayer.start(),来播放歌曲,当歌曲开始播放的时候,
new LooperThread().start;

class LooperThread extends Thread{
      int i = 0;
        @Override
        public void run() {
            while(true){

                i = mediaPlayer.getCurrentPosition();

                if(i<duration){

                    seekBar.setProgress(i);

                    try{
                        sleep(10);
                    }catch (InterruptedException e){
                        e.printStackTrace();
                    }


                }else {
                    break;
                }



            }
        }
    }

因为eekBar.OnSeekBarChangeListener,所以要从写三个方法:

@Override
    public void onStopTrackingTouch(SeekBar seekBar) {


    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {

    }

    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
           if(fromUser){
               if(mediaPlayer!=null&&mediaPlayer.isPlaying()) {
                   mediaPlayer.seekTo(progress);

               }


           }
    }

在我点击播放按钮的时候:

 public void play() {
        if(mediaPlayer.isPlaying()){
            zanting.setImageResource(R.drawable.bofang);
            if(mediaPlayer!=null&&mediaPlayer.isPlaying()){
                Log.d("duration","sfsfsadfsadfsdaf");
                if(!play_Thread.isAlive())
                play_Thread.start();
            }
        }else {
            zanting.setImageResource(R.drawable.zanting);


        }

    }

效果:
这里写图片描述

如何得到本地歌曲请参考:
(http://blog.csdn.net/qq_36391075/article/details/75144100)

seekBar的简单使用请参考:
http://blog.csdn.net/qq_36391075/article/details/75268150

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值