van*_*dzi 10 android android-mediaplayer
这是一个错误还是在准备时不可能释放,停止或杀死MediaPlayer?
我有一个MediaPlayer运行的实例,Service如果我停止,释放,将其设置为null,同时MediaPlayer处于准备状态,它会停止.但是,如果我停止,释放,如果它处于准备状态,则将其设置为null .
onPrepared()在停止,释放,设置为null后调用.一些解决方法吗?
我认为这是用户想要MediaPlayer在完成准备之前停止的常见用例.
Mr.*_*.Me 15
通过查看MediaPlayer文档,您不允许调用stop()未初始化的对象; 这是有道理的,因为你无法阻止尚未运行/准备好的东西.
另一方面,release()在查看源代码MediaPlayer之后似乎就是这样做的.
但添加一个布尔标志表示不再需要该MediaPlayer对象并使用该标志释放您的对象(如果onPrepared()被调用)并没有坏处.
伪代码看起来像这样:
public void cancel(){
mCancel = true;
}
public void onPrepared(MediaPlayer player){
if(mCancel){
player.release();
//nullify your MediaPlayer reference
mediaPlayer = null
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5736 次 |
| 最近记录: |