Звук Java без аппаратного устройства
Вопрос
Кто-нибудь знает, можно ли написать приложение, использующее Java Sound API, в системе, в которой фактически нет аппаратного звукового устройства?
У меня есть код, который я написал на основе API, который манипулирует некоторым звуком и воспроизводит результат, но теперь я пытаюсь запустить его в серверной среде, где звук будет записываться в файл, а не воспроизводиться в виде строки.
На сервере, на котором я работаю, нет звуковой карты, и я, кажется, сталкиваюсь с препятствиями из-за того, что Java Sound не может выделить какие-либо строки, если нет микшера, который его поддерживает.(А без аппаратных устройств у меня не будет микшеров.)
Будем очень признательны за любую информацию -
Спасибо.
Решение
Для Linux вы можете использовать Виртуальный микшер OSS, который предоставит вам виртуальные звуковые каналы.
В Windows есть несколько звуковых драйверов, которые делают это, один из них: Виртуальный аудиокабель, что, хотя и не бесплатно, но соответствует стоимости звуковой карты, так что это не должно стать проблемой.
Если ни один из них вам не подходит, вероятно, будет проще создать собственную звуковую библиотеку Java и заменить встроенную функциональность, чем реализовать звуковую карту для вашей ОС.
-Адам
Другие советы
Все, что нужно Java, — это драйверы для звуковой карты.JVM полагается на операционную систему для непосредственного управления оборудованием, все, что нужно JVM, — это способ сообщить ОС, что она хочет воспроизвести звук (таким образом, драйвер).