2009-12-17 5 views
2

Est-il possible de lire un son (.wav ou .mp3) dans le navigateur d'un client à l'aide d'une application Web JSF?Comment jouer un son dans une application Web JSF?

J'ai essayé d'utiliser javax.sound.sampled.SourceDataLine et cela a fonctionné sous Windows, mais quand je Déployez le .war sur un hôte Linux-je obtenir cette exception: « javax.sound.sampled.LineUnavailableException: Audio Device Non disponible "

+1

Désolé, mais est-il quelque chose de plus ennuyeux que les sites qui jouent des sons? – whiskeysierra

+0

Condition requise pour un projet. L'utilisateur doit être averti par le son lorsque certaines situations d'urgence surviennent dans le système. – boobsbr

Répondre

2

Est-il possible de lire un son (.wav ou .mp3) dans le navigateur d'un client à l'aide d'une application Web JSF?

J'aurais dû le mentionner, mais cela n'a rien à voir avec JSF ou toute autre technologie côté serveur. Si vous souhaitez lire un son côté client, générez le code côté client approprié, c'est-à-dire HTML ici.

HTML 5 a une balise <audio> mais, jusqu'à ce qu'il soit grand public, voir Playing Sounds on a Web Site et How To Play Sound (ce qui fait un bon travail à résumer les solutions) pour en savoir plus sur l'étiquette <embed> et la balise <object>.

2

Le code Java s'exécute sur le serveur pour générer des pages Web qui sont affichées dans le navigateur du client. Si vous avez un code d'application web JSF utilisant la classe javax.sound.sampled.SourceDataLine, le son sera lu sur le serveur (si c'est même possible ...), pas dans le navigateur du client.

Pour lire un son sur le client, vous devez soit référencer un fichier audio dans la page Web tel que Pascal Thivent l'a posté, soit le lire via un plugin Flash/Silverlight/Java Applet référencé dans la page.

1

J'ai essayé d'utiliser javax.sound.sampled.SourceDataLine et cela a fonctionné sous Windows, mais quand je Déployez le .war sur un hôte Linux-je obtenir cette exception: « javax.sound.sampled.LineUnavailableException: Audio périphérique non disponible »

Cette exception littéralement signifie que la machine où le code est exécuté ne dispose pas d'un périphérique audio. Je peux imaginer qu'il est très raisonnable que les serveurs web n'aient aucun périphérique audio, cela n'a aucun sens.

Comme d'autres l'ont souligné, vous devez jouer du son sur la machine . Vous pouvez trouver here beaucoup d'informations de fond et des exemples.