2011-03-11 3 views
0

J'ai créé objet Player commecomment jouer audio en arrière-plan dans BlackBerry

player = Manager.createPlayer(inputStream,"audio/mpeg"); 

et joue l'audio comme

player.realize(); player.prefetch(); player.start(); 

Il commence la lecture du flux. Ici, le inputstream fait référence à l'URL de diffusion en direct. Maintenant, ma question est quand je clique sur le bouton de retour l'application sera fermée de sorte que le joueur va également arrêter le jeu. mais j'ai besoin de jouer l'audio en arrière-plan même l'application est fermée et après le lancement de l'application je ne veux pas initialiser l'objet Player à nouveau, pour cela je dois maintenir l'objet Player en tant que singleton. J'utilise 4.7 BlackBerry api.Can quelqu'un s'il vous plaît dites-moi comment tout cela sera possible?

grâce
Venu

Répondre

2

substituez la méthode « onClose() » dans votre classe d'écran pour attraper l'événement à proximité et de mettre votre application en arrière-plan:

public boolean onClose() { 
    Application.getApplication().requestBackground(); 
    return false; 
} 
+0

merci pour votre réponse. Cela a presque résolu mon problème. Mais une chose que nous devons considérer. Si je place l'extrait de code ci-dessus, mon application ira toujours à background.it doit être en arrière-plan lorsque le joueur est en cours d'exécution sinon il devrait être retiré de la pile. Pouvez-vous s'il vous plaît me dire comment puis-je modifier la méthode onclose()? – Venugopal

+0

Pour cela, je l'ai modifié onClose() comme booléen publique onClose() { \t \t if (player.getState() == Player.STARTED) { \t \t Application.getApplication() requestBackground(). \t \t return false; \t \t} \t \t return true; \t} mais cela ne me permettra jamais de fermer l'application. – Venugopal

+0

On dirait que peut-être l'état du joueur est toujours Player.STARTED. Assurez-vous que vous appelez Player.stop() et/ou Player.close() lorsque vous ne voulez pas que le média joue ce qui déplacera l'état du lecteur hors de Player.STARTED. –

0

Jetez un coup d'oeil au blog multi-partie par Tim Windsor de RIM sur l'exécution d'applications en arrière-plan.

0

Fondamentalement, vous devez remplacer le comportement du bouton de retour et il suffit d'envoyer votre application à fond sans fermer le joueur it.Then continuera à jouer. Il y a beaucoup de ressources et de tutoriels à ce sujet. Peut-être que quelque chose des liens @Ted Hopp posté pourrait vous aider.

Questions connexes