Sun*_*hoo 7 android android-mediaplayer
我已经创建了一个歌曲列表,点击了我能够使用MedaiPlayer播放歌曲的歌曲.当一首歌正在播放时,如果用户点击另一首歌,那么我将停止媒体播放器并再次启动播放器.但我在reset()中遇到非法的例外情况.这是我得到异常的代码.如何正确阻止玩家?也为什么我得到这个例外.怎么避免呢?
public void stopPlayer() {
try {
if (player != null) {
// Log.e("Trying to Stop "," Player ");
player.stop();
player.release();
player.reset();// causes IllegalstateException
player = null;
}
} catch (Exception e) {
player = null;
playerStatus = false;
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
如果你想再次玩,那么使用player.reset(),
player.release()意味着它释放了玩家对象,所以你必须重新初始化玩家.所以首先你使用reset()然后release().release()当你的玩家对象不再工作时使用.当你的活动破坏release()了用于良好练习的方法时.
每当你想要阻止它时:
if(player!=null)
{
if(player.isPlaying())
player.stop();
player.reset();//It requires again setDataSource for player object.
}
Run Code Online (Sandbox Code Playgroud)
每当您的玩家不再需要时:
if(player!=null)
{
if(player.isPlaying())
player.stop();
player.reset();//It requires again setDataSource for player object.
player.release();
player=null; // fixed typo.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12205 次 |
| 最近记录: |