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)

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top