不支持 Java 声音格式

标签 java audio recording

使用以下代码时:http://pastebin.com/5iVnttiP

我收到此错误:

javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 16000.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian not supported.
    at com.sun.media.sound.DirectAudioDevice$DirectDL.implOpen(Unknown Source)
    at com.sun.media.sound.AbstractDataLine.open(Unknown Source)
    at com.sun.media.sound.AbstractDataLine.open(Unknown Source)
    at com.AIComputer.model.Recorder.<init>(Recorder.java:124)
    at com.AIComputer.AIComputer.main(AIComputer.java:7)

现在我做了一些研究,发现并不是所有的声卡都支持所有格式,但是在运行这个演示时:http://java.sun.com/products/java-media/sound/samples/JavaSoundDemo/ 我设法使用完全相同的参数(线性、16000、16、签名、小端、立体声)制作了录音。

我不知道我在这里做错了什么(也因为我仍然是 Java 编码的初学者)。

任何帮助将不胜感激!

最佳答案

你能说出这个异常是从你代码的哪一行抛出的吗?

docs LineUnavailableException 说

This situation arises most commonly when a requested line is already in use by another application.

您在代码中打开了两行。当您尝试打开第二个时,第一个的存在阻止了它。

关于不支持 Java 声音格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11915469/

相关文章:

audio - 相同比特率和相同长度的 MP3 文件大小不同

java - Play Framework 2 Ebean 为字段指定默认值

java RMI 和/或 JNDI : binding for objects that are not singletons

java - 尝试使搜索功能(for-each)在未找到匹配项时打印出错误消息

java - Javas Audio Clip 频繁播放蜂鸣声时出现问题

audio - 如何在 Audiokit 中正确设置多带通滤波器?

audio - 使用音频文件进行 WebRTC 音频测试

java - Android:使录制的pcm原始数据可播放

java - 用你自己的话说 : what is JavaFX and Java applet? 它们有什么区别?

android - 更改mp3文件中的wave标题