AudioSystem.getMixerInfo() 在 Java/gentoo 中一无所获

Posted

技术标签:

【中文标题】AudioSystem.getMixerInfo() 在 Java/gentoo 中一无所获【英文标题】:The AudioSystem.getMixerInfo() get nothing in Java/gentoo 【发布时间】:2012-10-03 04:30:50 【问题描述】:

我想在机器人上开发一个语音识别程序。机器人安装了 gentoo chroot。当我调用Audiosystem.getMixerInfo() 时,它什么也没有返回。

JDK 版本为 jdk-6u35-linux-i586。 /dev/中有很多音频设备,如下:

nao [0] /dev $ ls -l|grep audio
crw-rw---- 1 root audio  14,   4 Oct  3 02:33 audio
crw-rw---- 1 root audio  14,   3 Oct  3 02:33 dsp
crw-rw---- 1 root audio  14,   0 Oct  3 02:33 mixer
crw-rw---- 1 root audio  14,   1 Oct  3 02:33 sequencer
crw-rw---- 1 root audio  14,   8 Oct  3 02:33 sequencer2

是否有一些 linux 或 Java 的配置必须设置为声音?

【问题讨论】:

您是否验证了 Linux 已识别的音频设备以及其他 Linux 程序是否可以找到音频设备?如果一切正常,那么是时候从 Java 中尝试了。 【参考方案1】:

该版本 Java 的包有一个 alsa USE 标志。目前尚不清楚它是否也对 OSS 有隐含的支持。您列出的设备用于 OSS。这些天你不应该使用本机 OSS,除非你知道你在做什么检查是否启用了 alsa USE 标志并且你有设备存在于 /dev/snd 中。 aplay -L 应该返回一些有用的东西。

【讨论】:

以上是关于AudioSystem.getMixerInfo() 在 Java/gentoo 中一无所获的主要内容,如果未能解决你的问题,请参考以下文章