android media player seebar,Android SeekBar控制MediaPlayer进度

我有一个SeekBar,它显示正确的MediaPlayer进度.但是,我遇到了麻烦 - 如果我在某处找到滚动框,它只会返回播放音频文件的位置.

public class EntityPageActivity extends Activity implements Runnable, OnClickListener, OnSeekBarChangeListener{

private SeekBar seekBar;

private Button startMedia;

private Button pauseMedia;

private MediaPlayer mp;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.entity_page);

AudioControl();

}

public void AudioControl(){

seekBar = (SeekBar) findViewById(R.id.seekBar);

startMedia = (Button) findViewById(R.id.play);

pauseMedia = (Button) findViewById(R.id.pause);

startMedia.setOnClickListener(this);

pauseMedia.setOnClickListener(this);

}

public void run() {

int currentPosition= 0;

int total = mp.getDuration();

while (mp!=null && currentPosition

try {

Thread.sleep(1000);

currentPosition= mp.getCurrentPosition();

} catch (InterruptedException e) {

return;

} catch (Exception e) {

return;

}

seekBar.setProgress(currentPosition);

}

}

public void onClick(View v) {

if (v.equals(startMedia)) {

if (mp != null && mp.isPlaying()) return;

if(seekBar.getProgress() > 0) {

mp.start();

return;

}

mp = MediaPlayer.create(EntityPageActivity.this, R.raw.gl1);

mp.start();

seekBar.setProgress(0);

seekBar.setMax(mp.getDuration());

new Thread(this).start();

}

if (v.equals(pauseMedia) && mp!=null) {

mp.pause();

}

}

public void onStartTrackingTouch(SeekBar seekBar) {

}

public void onStopTrackingTouch(SeekBar seekBar) {

}

public void onProgressChanged(SeekBar seekBar, int progress,

boolean fromUser) {

if(fromUser) mp.seekTo(progress);

}

}

那么,onProgressChanged还不足以让人SeekBar控制MediaPlayer?

我应该添加/更正以允许搜索?

谢谢

UPDATE

我发现onProgressChanged从来没有被某种原因引用过.但是我无法弄清楚为什么

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值