2009-09-23 9 views
7

J'ai l'audio en ligne sous la forme de fichiers MP3, comment diffuser l'audio de mon application J2ME? Un site Web donne à l'application une liste d'audio à jouer, sélectionnez l'audio et il doit ensuite diffuser sur le site.Diffusion audio en utilisant J2ME

Exemple de code serait bien. merci

Répondre

2

J2ME ne vous laissera pas faire cela sur HTTP. Il va télécharger l'intégralité de l'audio avant qu'il commence la lecture. Ce dont vous avez besoin est de l'héberger sur un serveur RTP à la place; alors seulement J2ME diffusera l'audio. Si ce n'est pas bon, alors vous pourriez être bloqué à la recherche de périphériques qui ont leurs propres bibliothèques propriétaires pour ce genre de choses.

3

Il n'existe aucun moyen fiable pour garantir qu'un MIDlet diffusera des données audio car vous ne contrôlez pas la façon dont le fabricant du téléphone a implémenté JSR-135 (la spécification qui vous donne l'API pour lire l'audio dans un MIDlet).

Techniquement, la création d'un lecteur multimédia Java à l'aide de javax.microedition.media.Manager.createPlayer(String aUrl) doit faire en sorte que le flux d'implémentation JSR-135 transmette les données audio situées à l'URL. Malheureusement, seul le streaming de contenu audio très simple (wav plus souvent que mp3), le cas échéant, est généralement pris en charge sur une connexion réseau et, le plus souvent, un appel à createPlayer(String aUrl) lèvera une exception si l'URL ne 't commencer par "file: //"

Il y a probablement des périphériques où le fabricant a réussi à brancher un module audio/réseau plus complet dans l'implémentation JSR-135, mais les trouver nécessitera beaucoup de tests pour vous.

2

Il existe une meilleure façon de procéder. Créez votre propre classe étendue InputStream. direMyHTTPInputStream, mettre en œuvre toutes les méthodes. Exécuter un thread pour récupérer les données de HTTP et le stocker dans le tampon, lorsque la classe Player appelle la méthode InputStream.read(), fournir les données à partir du tampon.

Avant d'implémenter cette classe pour Player, testez le MyHTTPInputStream à l'aide d'un fichier WAV fictif stocké dans la mémoire du téléphone ou sur la carte d'extension. Ainsi, vous pouvez savoir quelles méthodes sont appelées InputStream et vous pouvez également connaître la séquence des appels de méthode effectués par la classe Player.

Questions connexes