LINUX.ORG.RU

Вывод звука на наушники

 ,


0

1

Система pcbsd 9
Если подключить наушники, звук продолжает идти на динамики ноутбука.
Методом тыка понял, что если остановить звук и написать
>sysctl hw.snd.default_unit=5
то будут работать наушники, если 4 - динамики. Можно сделать чтобы это автоматически переключалось?

★★★★
Ответ на: комментарий от takino

snd_hda,

cat /dev/sndstat 
FreeBSD Audio Driver (newpcm: 64bit 2009061500/amd64)
Installed devices:
pcm0: <HDA NVidia GT220 HDMI PCM #0 DisplayPort> (play)
pcm1: <HDA NVidia GT220 HDMI PCM #0 DisplayPort> (play)
pcm2: <HDA NVidia GT220 HDMI PCM #0 DisplayPort> (play)
pcm3: <HDA NVidia GT220 HDMI PCM #0 DisplayPort> (play)
pcm4: <HDA Realtek ALC663 PCM #0 Analog> (play/rec) default
pcm5: <HDA Realtek ALC663 PCM #1 Analog> (play/rec)
pcm6: <HDA Realtek ALC663 PCM #2 Digital> (play)

ymuv ★★★★
() автор топика
Ответ на: комментарий от takino

(без зависимости на конкретный девайс, указанный в первом посте темы.)

takino ★★★★★
()
Ответ на: комментарий от ymuv

Если спрашиваешь, то это FreeBSD'шная реализация OSS.
Что, в принципе, можно было понять из первого сообщения по:

sysctl hw.snd.default_unit=5

Но я ступил :)

takino ★★★★★
()
Ответ на: комментарий от takino
$  dmesg | grep hdac
hdac0: <NVidia (Unknown) High Definition Audio Controller> mem 0xcdefc000-0xcdefffff irq 16 at device 0.1 on pci1
hdac1: <Intel 5 Series/3400 Series High Definition Audio Controller> mem 0xf2500000-0xf2503fff irq 21 at device 27.0 on pci0
hdac0: HDA Codec #0: NVidia GT220 HDMI
hdac0: HDA Codec #1: NVidia GT220 HDMI
hdac0: HDA Codec #2: NVidia GT220 HDMI
hdac0: HDA Codec #3: NVidia GT220 HDMI
pcm0: <HDA NVidia GT220 HDMI PCM #0 DisplayPort> at cad 0 nid 1 on hdac0
pcm1: <HDA NVidia GT220 HDMI PCM #0 DisplayPort> at cad 1 nid 1 on hdac0
pcm2: <HDA NVidia GT220 HDMI PCM #0 DisplayPort> at cad 2 nid 1 on hdac0
pcm3: <HDA NVidia GT220 HDMI PCM #0 DisplayPort> at cad 3 nid 1 on hdac0
hdac1: HDA Codec #0: Realtek ALC663
pcm4: <HDA Realtek ALC663 PCM #0 Analog> at cad 0 nid 1 on hdac1
pcm5: <HDA Realtek ALC663 PCM #1 Analog> at cad 0 nid 1 on hdac1
pcm6: <HDA Realtek ALC663 PCM #2 Digital> at cad 0 nid 1 on hdac1

Насколько я понял, pcm4 - это колонки, pcm5- выход наушников. Но по ссылке в выхлопе показано немного больше, к примеру

hdac0:  nid 25 0x032110f0 as 15 seq  0    Headphones  Jack jack  1 loc  3 color   Black misc 0
...
hdac0:  nid 31 0x921701f0 as 15 seq  0       Speaker Fixed jack  7 loc 18 color Unknown misc 1
Как узнать nid для моего случая?

ymuv ★★★★
() автор топика
Ответ на: комментарий от takino

А как можно менять параметры /boot/device.hints без перезагрузки?

ymuv ★★★★
() автор топика

Методом тыка понял, что если остановить звук и написать
>sysctl hw.snd.default_unit=5
то будут работать наушники, если 4 - динамики. Можно сделать чтобы это автоматически переключалось?

Если при втыкании-вытыкании штеккера наушников есть какая-то нотификация DEVD, то легко можно сделать «переключение» звука в /etc/devd.conf, описав реакцию на событие. Просто посылается команда «sysctl hw.snd.default_unit=5» или «4». До начала воспроизведения.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

Если при втыкании-вытыкании штеккера наушников есть какая-то нотификация DEVD, то легко можно сделать «переключение» звука в /etc/devd.conf, описав реакцию на событие. Просто посылается команда «sysctl hw.snd.default_unit=5» или «4». До начала воспроизведения.

есть какая-то нотификация DEVD

А как узнать? Смотреть /dev до и после включение штекера?

ymuv ★★★★
() автор топика
Ответ на: комментарий от ymuv

dmesg|grep -i nid
pcm0: <HDA VIA VT1708S_0 PCM #0 Analog> at cad 0 nid 1 on hdac0
pcm1: <HDA VIA VT1708S_0 PCM #1 Digital> at cad 0 nid 1 on hdac0

takino ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.