2012-04-20 2 views
0

Я хочу, чтобы после того, как входящий вызов Дорожка продолжается от точки остановкиРезюме игрок при поступлении входящего вызова

Я использую этот код:

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(); 


     } 
    } 

} 

Но это не работает. Откроется трек.

ответ

3

вместо обновления кода в PlayerUpdate, пожалуйста, используйте логическое значение, и когда вызов прерывается автоматически мидлет переходит в 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); 
     } 
    } 
} 
+0

После входящего вызова player.getMediaTime() всегда возвращает 0. В чем проблема? – Tim

+0

вам нужно сохранить mediaTime глобально и сохранить до вызова hideNotify() и проверить player.getDuration - это возвращение положительного значения или нет. –

 Смежные вопросы

  • Нет связанных вопросов^_^