是否可以使用JSF网络应用在客户端的浏览器中播放声音(.wav或.mp3)?
我尝试过使用javax.sound.sampled.SourceDataLine并且它可以在Windows上运行,但是当我在Linux主机上部署.war时,我得到了以下异常: “javax.sound.sampled.LineUnavailableException:音频设备不可用”
答案 0 :(得分:2)
是否可以使用JSF网络应用在客户端的浏览器中播放声音(.wav或.mp3)?
我应该提到这一点,但这与JSF或任何其他服务器端技术无关。如果您想在客户端播放声音,请在此处生成相应的客户端代码,即HTML。
HTML 5有一个<audio>
标记,但在它成为主流之前,请参阅Playing Sounds on a Web Site和How 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
这样的应用程序