android media已停止,Android MediaPlayer.stop()暂停而不是停止

我为android.media.mediaplayer编写了两个类包装器 .

如果我使用工厂MediaPlayer.Create()中的对象 . 然后媒体播放器对象在调用方法停止时停止播放歌曲(这样,当我调用play()时停止播放歌曲,它从歌曲的开头开始) . 但是如果我使用默认构造函数,stop()的行为就像pause()保持歌曲中的前一个位置(除了它确实处于停止状态) .

我必须在prepare()和stop()之后使用seekTo(0)来做我想做的事,但这不是文档所说的 .

public void start()从:API Level 1开始或恢复播放 . 如果之前暂停播放,则播放将从暂停的位置继续播放 . 如果播放已停止或之前从未开始播放,则播放将从头开始播放 .

所以,如果我在停止时调用start(),它应该从头开始 .

这是我 class 的stopSong方法的代码:

public void stopSong() {

if(mpPrepared){

mp.stop();

try {

mp.prepare();

} catch (IllegalStateException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

mp.seekTo(0);

}

}

有人能告诉我为什么会这样吗?谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值