Задать вопрос
j-snow
@j-snow
Java junior developer

Java: Возможна ли запись звука с выхода звуковой карты (НЕ микрофона)?

Привет!

Пытаюсь записать звук который идёт на выход в динамики.
Возможно ли это?
Вроде ограничений не нашёл. Нужно получить нужный TargetDataLine и писать. Но сталкиваюсь с IllegalArgumentException.

Код примерно такой:
(На синтаксис не обращайте внимания, это Kotlin)
audioFormat = AudioFormat(8000f, 8, 2, true, false)

mixerInfo = AudioSystem.getMixerInfo()
mixer = AudioSystem.getMixer(mixerInfo[0]) // перепробовал все миксеры

dataLineInfo = DataLine.Info(TargetDataLine::class.java, audioFormat)
dataLine = mixer.getLine(dataLineInfo) as TargetDataLine // IllegalArgumentException

dataLine.open()
dataLine.start()
AudioSystem.write(AudioInputStream(dataLine), AudioFileFormat.Type.WAVE, File("1.wav"))


Эксепшн при вызове getLine:
java.lang.IllegalArgumentException: Line unsupported: interface TargetDataLine supporting format PCM_SIGNED 8000.0 Hz, 8 bit, stereo, 2 bytes/frame, little-endian


Перепробовал всевозможные форматы и миксеры.
Input-миксеры (т.е. микрофоны) работают нормально.
Output-миксеры не работают никак.
  • Вопрос задан
  • 253 просмотра
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы