java - 从 tomcat 使用 JavaSounds

标签 java tomcat javasound

我正在尝试编写一个 Java EE 应用程序来记录来自服务器输入的声音。 我的代码在调试时工作正常,并且在服务器上作为我自己(都是 ubuntu)运行但是当它从网络服务器运行时我得到一个异常:

javax.sound.sampled.LineUnavailableException
at org.classpath.icedtea.pulseaudio.PulseAudioMixer.openImpl(PulseAudioMixer.java:714)
at org.classpath.icedtea.pulseaudio.PulseAudioMixer.openLocal(PulseAudioMixer.java:588)
at org.classpath.icedtea.pulseaudio.PulseAudioMixer.openLocal(PulseAudioMixer.java:584)
at org.classpath.icedtea.pulseaudio.PulseAudioMixer.open(PulseAudioMixer.java:579)
at org.classpath.icedtea.pulseaudio.PulseAudioDataLine.open(PulseAudioDataLine.java:95)
at org.classpath.icedtea.pulseaudio.PulseAudioTargetDataLine.open(PulseAudioTargetDataLine.java:111)
at org.classpath.icedtea.pulseaudio.PulseAudioTargetDataLine.open(PulseAudioTargetDataLine.java:130)

我已经尝试将 tomcat 用户添加到音频组(一些文档建议这样做),但它仍然抛出异常。我认为唯一的区别一定是环境,但我不知道问题出在哪里。

最佳答案

我假设您在 CLASSPATH 中有适当的 JAR - 在您的应用程序 WEB-INF/lib 或在 Tomcat/lib 中。

您尝试打开某些东西的事实表明您可能遇到了路径问题。 Web 应用程序不能依赖绝对文件路径,因为它们不知道 WAR 文件将安装在哪里。所以最好使用相对路径并以流的形式获取资源。也许有一种方法可以用这个库来做到这一点。

关于java - 从 tomcat 使用 JavaSounds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7046011/

相关文章:

java - 如何输入字符作为输入以跳出寻找整数的循环?

java - FileWriter 和 PrintWriter 不会输出到文件

php - 找不到任何受支持的 PHP 图像扩展

tomcat - 使用 Ant 将简单的 Web 应用程序部署到 Tomcat

java - 如何使用 Java 从线路输入端口录制声音

Java声音控制不起作用

java - 在 Swing 中进行实时/动态更改

java - 这个Ebean请求有什么问题

Java/Tomcat 独立,如何记录/访问所有 HTTP GET 请求

java - 我如何在这个程序中调用这个Applet?