繁体   English   中英

java声音API AudioSystem.getMixerInfo()问题

[英]java sound api AudioSystem.getMixerInfo() issue

我试图通过输入制作一个简单的audioplayer-player,但是我遇到了一个非常烦人的问题:当我尝试AudioSystem.getMixerInfo()和可用混音器的打印输出列表时,我正在

????????? ???????? ??????? 
???????? (SoundMAX Integrated Digital HD Audio) 
????????? SPDIF (SoundMAX Integrated Digital HD Audio) 
????????? ??????? ?????? ????? 
????? ?????????? (SoundMAX Inte 
???. ???? (SoundMAX Integrated 
Java Sound Audio Engine 
Port ???????? (SoundMAX Integrated D 
Port ????????? SPDIF (SoundMAX Integ 
Port ???. ???? (SoundMAX Integrated  
Port ????? ?????????? (SoundMAX Inte 

抱歉?不知道如何设置文本格式,所以我将\\ n标记为行尾。

我无法理解要选择哪种设备,因为在大多数行中,我什至都看不懂俄语说明或设备名称。 目前,我正在使用Win&x64俄语。 有办法解决吗?

我回答迟到了。 但这可能会帮助您或面临相同问题的其他人。 我设法通过正确解码设备名称来解决它。

 byte bytes[] = deviceName.getBytes("ISO-8859-1"); // <- from
 String value = new String(bytes, "Windows-1251"); // <- to

完整的代码如下所示:

public static void main(String[] args) throws UnsupportedEncodingException {

    Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo();
    for(int i = 0; i < mixerInfo.length; i++)
    {
        String deviceName = mixerInfo[i].getName();

        byte bytes[] = deviceName.getBytes("ISO-8859-1"); // <- from
        String value = new String(bytes, "Windows-1251"); // <- to

        System.out.println(value);

    }

}

并输出:

Primary Sound Driver
Динамики (Realtek High Definition Audio)
C24F390 (Аудио Intel(R) для дисплеев)
Port Динамики (Realtek High Definiti
Port C24F390 (Аудио Intel(R))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM