4 개의 USB 사운드 카드 (ASUS Xonar U1)를 사용하고 있습니다. 각자 다른 소리 (다른 언어로 된 동일한 텍스트)를 보내고 싶습니다.Java Sound API - 여러 개의 동일한 USB 사운드 카드를 구분하십시오
Info[] mixerInfo = AudioSystem.getMixerInfo();
int count = 0;
for (Info i : mixerInfo) {
System.out.println("["+(count++)+"]" + i.getName() + " - " + i.getDescription()+" - "+i.getVendor());
}
이 나에게 다음과 같이 제공합니다 : 지금, 나는 내가 관심이있는 사운드 믹서를 얻기 위해 무엇을이 같은 것입니다 지금은
[5] Device [plughw:1,0] - Direct Audio Device: USB Advanced Audio Device, USB Audio, USB Audio - ALSA (http://www.alsa-project.org)
[6] Device_1 [plughw:2,0] - Direct Audio Device: USB Advanced Audio Device, USB Audio, USB Audio - ALSA (http://www.alsa-project.org)
[7] Device_2 [plughw:3,0] - Direct Audio Device: USB Advanced Audio Device, USB Audio, USB Audio - ALSA (http://www.alsa-project.org)
에 내 구성 파일에서, 사운드 카드를 Info [] 색인 ("count"변수)에 연관 짓고 있습니다.
사운드 카드가 연결된 USB 포트를 변경하면 문제가 발생합니다. 그런 다음 Info [] 배열은 완전히 새로운 순서를 가지며 어떤 사운드 카드가 언어 en_US
을 재생해야하는지 더 이상 모릅니다. 예를 들어 pt_PT
입니다.
또한 "plughw : 1,0"문자열은 눈에 띄는 패턴없이 변경됩니다. 사운드 카드가 하나뿐이라면 어느 포트에 연결하든 항상 "plughw : 1,0"이됩니다.
컴퓨터를 다시 시작하면 믹서 Info []도 가끔 재정렬됩니다.
jUSB도 살펴 보았지만 사운드 카드의 장치 정보는 모두 동일하며 Java Sound API 믹서로 제공되는 USB 정보를 매핑하는 방법을 알지 못합니다. 정보.
그렇다면 누구나 Java Sound API로 동일한 사운드 카드를 고유하게 식별하는 방법을 알고 있습니까?
또 다른 오디오 파일을 동일한 컴퓨터의 4 가지 USB 사운드 카드에 출력하는 응용 프로그램을 작성하는 데 사용할 수있는 언어/라이브러리에 대한 다른 제안이 있습니까?
나는 리눅스를 사용해야한다고 언급 했어야했다. NativeBass는 Linux에서 작동하지 않습니다. 어쨌든, 당신의 대답에 감사드립니다, 그것은 우리에게 어떤 통찰력을주었습니다. 특히 USB 허브 트릭을 좋아했지만 테스트 할 기회가 없었습니다. –