继续播放来电
问题描述:
时,我想的是来电追踪从点后继续停止继续播放来电
我用这个代码:
public void playerUpdate(Player player, String event, Object data) {
if(event == PlayerListener.DEVICE_UNAVAILABLE) {
player.stop();
isPause = true;
}
if(event == PlayerListener.DEVICE_AVAILABLE) {
if(isPause == true) {
player.start();
}
}
}
但它不工作。轨道重新启动。
答
而不是更新PlayerUpdate中的代码,请使用布尔值,并且当调用自动中断时,midlet会转到hideNotify()并保存mediaTime(可用)并使用showNotify()方法恢复播放器并更改布尔值并启动玩家与player.start();和player.setMediaTime(savedmTime);
这是一段代码。
protected void hideNotify() {
resume = false;
paintMessage = false;
mediaTime = player.getMediaTime();
}
// calls while resuming the application.
protected void showNotify() {
if (mediaTime != 0) {
if (pause) {
resume = false;
midlet.lcduiDisplay.callSerially(repainter);
mediaTime = player.getMediaTime();
pausePlayer();
} else {
resume = true;
long med = mediaTime/1000;
med = med/1000;
message = "Resuming...from " + med;
play(mediaTime);
}
}
}
传入呼叫之后player.getMediaTime()总是返回0.什么是问题? – Tim 2012-04-25 13:00:29
您需要全局存储mediaTime并在调用hideNotify()之前保存并检查player.getDuration是否返回正值。 – 2012-04-25 13:16:10