android .reset(),Android MediaPlayer.reset()正在调用onCompletion

我遇到以下代码的问题.我在MediaController上调用了setPrevNextListener,并为Prev和Next定义了两个onClickListener.当我单击下一个按钮而不是前进一个轨道时,我前进两个轨道.这似乎是由于onCompletion被某种方式调用的事实. MediaPlayer.reset()是否会调用onCompletion?我已经包含了logcat输出和我的代码.如果我做错了,请告诉我.提前致谢.

logcat的:

02-24 00:36:34.826: D/MP(6675): Next Button Clicked,index was: 0

02-24 00:36:34.837: D/MP(6675): About to call Reset()

02-24 00:36:34.906: D/MP(6675): Inside setUpPlayer

02-24 00:36:34.917: D/MP(6675): Called setDataSource with index: 1

02-24 00:36:34.917: D/MP(6675): Leaving setUpPlayer

02-24 00:36:34.917: D/MP(6675): About to call prepareAsync()

02-24 00:36:34.937: D/MP(6675): Leaving next button

02-24 00:36:35.226: E/MediaPlayer(6675): Attempt to call getDuration without a valid mediaplayer

02-24 00:36:35.226: E/MediaPlayer(6675): error (-38,0)

02-24 00:36:35.276: E/MediaPlayer(6675): Error (-38,0)

02-24 00:36:35.287: D/MP(6675): Inside onCompletion

02-24 00:36:35.337: D/MP(6675): About to call Reset()

02-24 00:36:35.347: D/MP(6675): Inside setUpPlayer

02-24 00:36:35.356: D/MP(6675): Called setDataSource with index: 2

02-24 00:36:35.356: D/MP(6675): Leaving setUpPlayer

02-24 00:36:35.356: D/MP(6675): About to call prepareAsync()

02-24 00:36:35.377: D/MP(6675): Leaving onCompletion

02-24 00:36:36.517: D/MP(6675): Inside onPrepared,index is: 2

02-24 00:36:36.577: D/MP(6675): Leaving onPrepared

码:

public class MusicPlayerActivity extends Activity implements OnPreparedListener,OnCompletionListener,MediaController.MediaPlayerControl {

private MediaPlayer mp;

private MediaController mc;

private SonarDatabase db;

private SubsonicAPIConnector sonic;

ArrayList songs;

int index = 0;

private Handler handler = new Handler();

@Override

protected void onCreate(Bundle savedInstanceState) {

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值