У меня установлена карта объемного звука 7.1, и я хочу разделить выходы на 4 стерео выхода. Это не проблема с ALSA (или даже PulseAudio), но я не могу заставить звуковую систему Java показывать мне стерео выходы отдельно.

В чем тут подвох? Можно ли имитировать аппаратные устройства с помощью ALSA, чтобы Java их видела?

Вот что видит Java:

Found Mixer: PulseAudio Mixer, version 0.02
    Found source line: interface SourceDataLine supporting 42 audio formats, and buffers of 0 to 1000000 bytes
        Line unavailable.
    Found source line: interface Clip supporting 42 audio formats, and buffers of 0 to 1000000 bytes
        Line unavailable.
    Found target line: interface TargetDataLine supporting 42 audio formats, and buffers of 0 to 1000000 bytes
        Line unavailable.
Found Mixer: DX [default], version 1.0.21
    Found target line: interface TargetDataLine supporting 84 audio formats, and buffers of at least 32 bytes
Found Mixer: DX [plughw:0,0], version 1.0.21
    Found source line: interface SourceDataLine supporting 96 audio formats, and buffers of at least 32 bytes
    Found source line: interface Clip supporting 96 audio formats, and buffers of at least 32 bytes
    Found target line: interface TargetDataLine supporting 24 audio formats, and buffers of at least 32 bytes
Found Mixer: DX [plughw:0,1], version 1.0.21
    Found source line: interface SourceDataLine supporting 24 audio formats, and buffers of at least 32 bytes
    Found source line: interface Clip supporting 24 audio formats, and buffers of at least 32 bytes
Found Mixer: Port DX [hw:0], version 1.0.21
    Found source line: Mic source port
    Found source line: Aux source port
    Found source line: Analog Input Monitor source port
    Found target line: Master target port
    Found target line: Analog Input Monitor target port

Это мой .asoundrc:

pcm_slave.eightchannels {
    pcm "surround71:DX,0"
    channels 8
}
pcm.stereo1 {
    type plughw
    slave.pcm {
        type dshare
        ipc_key 87882222
        slave eightchannels
        bindings [ 2 3 ]
    }
}
pcm.stereo2 {
    type plughw
    slave.pcm {
        type dshare
        ipc_key 87882222
        slave eightchannels
        bindings [ 4 5 ]
    }
}
pcm.stereo3 {
    type plughw
    slave.pcm {
        type dshare
        ipc_key 87882222
        slave eightchannels
        bindings [ 6 7 ]
    }
}
pcm.stereo4 {
    type plughw
    slave.pcm {
        type dshare
        ipc_key 87882222
        slave eightchannels
        bindings [ 0 1 ]
    }
}

Конфигурация ALSA работает нормально, так как я могу воспроизводить звук на стерео1 ... 4 выходах с тестом динамика -D стерео1.

Спасибо!

1 ответ1

0

Ответ - нет. Java не может перечислить пользовательские PCS ALSA, так как она предоставляет только аппаратные устройства и устройство "по умолчанию".

Получил информацию от разработчика ALSA здесь: http://www.spinics.net/linux/fedora/alsa-user/msg10796.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .