1

我正在开发一个网络应用程序。是学校软件。在我们的应用程序中,我们有一个功能应该允许学生通过阅读网页上的文章来录制他们的声音。这是一个测试。同时我们还需要在页面上显示一个倒数计时器。我们使用 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.  

我正在尝试解决此问题,但没有解决方案。

4

2 回答 2

1

..不在服务器上工作

如果服务器有扬声器,我会感到惊讶,而服务器运营商可能很高兴它没有。您需要一些客户端(例如小程序JWS应用程序)来播放声音!

于 2013-06-12T08:26:52.160 回答
0

开发和 Applet 将捕获客户端上的音频并将其上传到服务器。请参阅官方小程序文档

服务器端,如果您使用框架来处理文件接收,则可以使用您的框架,或者使用commons-fileupload

客户端,在您的小程序中,您可以使用HTTPClient来做这些事情。

我不会更精确,因为我们不是来开发您的项目的,但是有了这些文档,您将获得很多信息来开始。

于 2013-06-13T12:15:30.703 回答