一尘不染

从tomcat使用JavaSounds

tomcat

我正在尝试编写一个Java
EE应用程序,该应用程序记录来自服务器输入的声音。我的代码在调试时可以正常运行,并且可以自己在服务器上运行(都是ubuntu),但是从Web服务器运行时,却出现异常:

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用户添加到音频组(某些文档建议),但仍会引发异常。我认为唯一的区别一定是环境,但是我对可能出现问题的地方不知所措。


阅读 241

收藏
2020-06-16

共1个答案

一尘不染

我现在设法使它正常工作-但感谢您的帮助。

最后,这是一个操作系统级别的问题,在ubuntu下,只有音频组中的用户才能在未登录时访问声音资源(https://wiki.ubuntu.com/Audio/TheAudioGroup)并连接到脉冲音频,就像您需要某种X11身份验证。进行这些更改后,需要重新启动,以便Tomcat可以先捕获声音设备,然后再进行其他操作。

2020-06-16