Aplicação falhas com exceção ao usar javax.microedition.media.Player
-
12-09-2019 - |
Pergunta
Eu tenho um aplicativo que processa dados de Bluetooth e enviá-lo para o serviço web. Recentemente, houve um pedido para adicionar sons à aplicação. Agora, quando a aplicação processa lotes de dados e que o jogador está jogando constantemente após alguns segundos eu recebo "A aplicação não está a responder" exceção. E então o processo é encerrado. Nos logs eu posso ver um monte de exceção ForcedStackTrace registrado após essa exceção.
Os sons são reproduzidos no segmento separado. Se aplicativo não reproduzir sons ou reproduz sons curtos - tudo funciona bem. Existe alguma maneira de evitar que isso aconteça exceção? Por que isso está acontecendo?
InputStream mediaStream = null;
try {
mediaStream = getClass().getResourceAsStream(relativePath);
getLogger().log("setting player _ " + _audioType);
setPlayer(Manager.createPlayer(mediaStream, _audioType));
_currentPlayer.addPlayerListener(this);
_currentPlayer.setLoopCount(1);
_currentPlayer.realize();
VolumeControl vc = (VolumeControl) _currentPlayer
.getControl("VolumeControl");
if (vc != null) {
vc.setLevel(_voumeLevel);
}
_currentPlayer.prefetch();
_currentPlayer.start();
} catch (Exception e) {
}
(crossposted de fóruns BB)
Solução
resolvido através da implementação de minha própria PlayerManager, que, correndo em um segmento separado iria jogar o item na forma fila em vez de ter muitos tópicos usando a implementação do Jogador interior.