MediaPlayer的在start()之前拖拽seekBar没用?

在编写音乐播放器时候遇到许多问题,我现在想把自己的问题记录下来。在音乐还未开始的时候,也就是start()之前,prepare()之后时候,通过seekTo()到特定的位置,前面在Service里面已经用create()使得MediaPlayer的状态在Prepared,但是还是不行,这个问题困恼了我很久,于是在网上疯狂找,找了很多材料,问题没找到,到时把MediaPlayer的机制了解了大概。后来通过Log语句发现在bind在onCreate()方法结束才绑定,故player一直为null,player.setMax()一直不能执行,刚开始放入子线程里面,才导致最开始拖拽seekbar时,因为player未与seekbar绑定,当点击按钮时,歌从零开始播放。后来把player.setMax()放入onServiceConnected里面,才得以解决。

public void onServiceConnected(ComponentName arg0, IBinder arg1) {
// TODO Auto-generated method stub
mybind=(MyBind)arg1;
player=mybind.getplayer();
pbar.setMax(player.getDuration());//Service在整个onCreat跑完,才开始调用,故player一直为空
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值