我正在开发一个网络应用程序。是学校软件。在我们的应用程序中,我们有一个功能应该允许学生通过阅读网页上的文章来录制他们的声音。这是一个测试。同时我们还需要在页面上显示一个倒数计时器。我们使用 Java 代码录制声音,使用 JavaScript 进行倒计时。
我们的代码:
public void start(String filePath) {
try {
File wavFile = new File(filePath);
// AudioFormat format = getAudioFormat();
AudioFormat audioFormat = new AudioFormat(
AudioFormat.Encoding.PCM_SIGNED,
44100.0F, 16, 2, 4, 44100.0F, false);
DataLine.Info info = new DataLine.Info(TargetDataLine.class, audioFormat);
if (!AudioSystem.isLineSupported(info)) {
System.out.println("Line not Supported");
}
line = (TargetDataLine) AudioSystem.getLine(info);
line.open(audioFormat);
line.start(); // start capturing
AudioInputStream ais = new AudioInputStream(line);
System.out.println("Start recording...");
// start recording
AudioSystem.write(ais, fileType, wavFile);
} catch (LineUnavailableException ex) {
System.out.println("Line not supported");
ex.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
问题是该功能在我的机器上本地运行,但在服务器(我们的项目网站)上不起作用。我收到一个错误
No line matching interface TargetDataLine supporting format PCM_SIGNED 44100.0 Hz,
16 bit, stereo, 4 bytes/frame, little-endian is supported.
我正在尝试解决此问题,但没有解决方案。