如何在JSF Web应用程序中播放声音?

时间:2009-12-17 01:15:14

标签: java jsf audio

是否可以使用JSF网络应用在客户端的浏览器中播放声音(.wav或.mp3)?

我尝试过使用javax.sound.sampled.SourceDataLine并且它可以在Windows上运行,但是当我在Linux主机上部署.war时,我得到了以下异常: “javax.sound.sampled.LineUnavailableException:音频设备不可用”

4 个答案:

答案 0 :(得分:2)

  

是否可以使用JSF网络应用在客户端的浏览器中播放声音(.wav或.mp3)?

我应该提到这一点,但这与JSF或任何其他服务器端技术无关。如果您想在客户端播放声音,请在此处生成相应的客户端代码,即HTML。

HTML 5有一个<audio>标记,但在它成为主流之前,请参阅Playing Sounds on a Web SiteHow To Play Sound(在总结解决方案方面做得很好)以了解有关{{{ 1}}标记和<embed>标记。

答案 1 :(得分:2)

Java代码在服务器上执行,以生成在客户端浏览器中显示的网页。如果你有使用javax.sound.sampled.SourceDataLine类的JSF Web应用程序代码,声音将在服务器上播放(如果可能的话......),而不是在客户端的浏览器中。

要在客户端播放声音,您必须像Pascal Thivent发布的那样在网页中引用音频文件,或者您必须通过引用的Flash / Silverlight / Java Applet插件播放声音在页面中。

答案 2 :(得分:1)

  

我尝试过使用javax.sound.sampled.SourceDataLine并且它可以在Windows上运行,但是当我在Linux主机上部署.war时,我得到了这个异常:“javax.sound.sampled.LineUnavailableException:Audio Device不可用“

此异常字面意思表示运行代码的计算机没有音频设备。我可以想象网络服务器没有任何音频设备是非常合理的,这没有任何意义。

正如其他人所指出的那样,您需要在客户端机器上播放声音。您可以找到here许多背景信息和示例。

答案 3 :(得分:1)

不是通过JSF,但你可以使用primefaces来为http://www.primefaces.org/showcase/ui/media.jsf

这样的应用程序