ФЭНДОМ


Оригинал: http://ninetimes.cat-v.org/tips/

Эта статья рассказывает о том, как экспортировать все аудио-потоки Linux-машины по сети в любую другую систему на которой может выполняться Inferno (или Plan 9) без без использования pulseaudio и подобной ему ерундлы

Для начала необходимо перенаправить весь аудио-поток в FIFO-файл. Для этого создайте файл /etc/asound.conf и добавьте в него следующие строки

pcm.!default {
    type file               # Использовать файл
    slave.pcm "hw:0,0"      # Имя playback-устройства из /proc/asound/devices
    file /tmp/audio         # Имя используемого файла
    format raw              # Формат файла (raw или wav)
    perm 0666               # Права на файл
}

Файл slave.pcm самая загадочная и волшебная часть, в большинстве случаев должно сработать значение "hw:0,0".

Чтобы все заработало необходимо создать FIFO-файл:

$ mkfifo /tmp/audio
$ chmod 666 /tmp/audio

На этом мы закончили возится с Linux и можем переходить непосредственно к главной части, запуску Inferno:

; emu
; bind '#U*/' /n/local/
; listen -A tcp!YOUR.LINUX_BOX.IP.ADDRESS!9999 {export /n/local/tmp/}

Теперь переходите к своей машине с Windows или OS X и запускайте на ней Inferno (попробуйте проделать это в acme-sac, в нем все настроено по умолчанию, если же вы используете inferno-os, вам потребуется примонтировать устройство '#A' к /dev ) и выполните:

; echo rate 44100 > /dev/audioctl
; mount -A tcp!YOUR.LINUX_BOX.IP.ADDRESS!9999 /n/lunix
; while {sleep 1} { cat /n/tmp/audio > /dev/audio }

Все готово, после этого все звуки проигрываемые на вашей машине с Linux должны быть слышны на другой машине.