L'application se bloque avec Exception lors de l'utilisation javax.microedition.media.Player

StackOverflow https://stackoverflow.com/questions/1459681

  •  12-09-2019
  •  | 
  •  

Question

J'ai une application qui traite les données de Bluetooth et de l'envoyer au service Web. Récemment, il y avait une demande d'ajouter des sons à l'application. Maintenant, lorsque l'application traite des lots de données et le joueur joue constamment au bout de quelques secondes, je reçois exception « L'application ne répond pas ». Et puis le processus est terminé. Dans les journaux, je vois beaucoup d'exception ForcedStackTrace enregistrés après cette exception.

Les sons sont joués dans le thread séparé. Si l'application ne joue pas les sons ou joue des sons courts - tout fonctionne bien. Y at-il moyen d'éviter cette exception qui se passe? Pourquoi est-il passe?

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 des forums BB)

Était-ce utile?

La solution

Résolu en mettant en place ma propre PlayerManager, qui, en cours d'exécution dans un thread séparé jouerait l'élément de la manière de file d'attente plutôt que d'avoir plusieurs threads en utilisant la mise en œuvre du joueur intérieur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top