Доступ к звуковой карте или устройству синтезатора ОС на Java [закрыт]
-
22-07-2019 - |
Вопрос
Когда я пытаюсь составить список устройств Synthesizer в Java (1.6.0), я получаю только одно устройство, Java Sound Synthesizer . Я хочу использовать синтезатор в звуковой карте или использовать любой другой установленный синтезатор, например. Синтезатор Microsoft. Как я могу сделать это? Если эта возможность не встроена, существует ли какой-либо проект с открытым исходным кодом, который выступает в качестве внешнего интерфейса для установленных драйверов синтезатора?
Решение 2
Фриника может сделать это, чтобы он мог удержать ответ.
Редактировать : в Java 1.5 и выше большинство ОС Midi-устройств появляются как устройства, к которым можно получить доступ с помощью MidiSystem.getMidiDeviceInfo ()
и MidiSystem.getMididevice ( ) код>.
Согласно FAQ по midi, нет хорошего способа получить доступ к звуковой карте Midi-устройства в качестве синтезатора из-за проблем с написанием пользовательских драйверов для каждой звуковой карты и получения информации от оборудования для который не является стандартом Midi.
Однако аппаратный синтезатор обычно отображается как MidiDevice, на который можно отправлять события. ( http://www.jsresources.org/faq_midi.html#use_hw_synth ). р>
Спасибо Arcane за то, что он указал мне правильное направление.
Другие советы
Я не верю, что java позволяет вам указать, какой установленный синтезатор использовать. API обычно предоставляет только одно устройство для каждого типа (синтезатор, передатчик и т. Д.), Поэтому вы получите значение по умолчанию. Я подозреваю, что java API в Windows фактически использует тот, который указан на панели управления как ваше MIDI-устройство по умолчанию.