Если вы используете Pulse-Audio в качестве звукового сервера, вы можете использовать module-native-protocol-tcp
для приема TCP-соединения с вашего удаленного компьютера.
В следующем примере я использую туннель ssh для пересылки аудио запроса с удаленного компьютера на локальный.
На локальной машине сделайте что-то вроде:
pactl load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
ssh -R 9999:127.0.0.1:4713 you@remotehost
Затем на удаленной машине вы можете использовать paplay
paplay -s 127.0.0.1:9999 soundfile.wav
ДОБАВЛЕНО Я обнаружил, чтоauth-ip-acl
не принимаетlocalhost
в качестве допустимого параметра, вы должны использовать127.0.0.1
(или все, что ваша машина использует адрес localhost).
РЕДАКТИРОВАТЬ Должно бытьssh -R
, нетssh -L
(мы пересылаем удаленный порт на локальный порт).
Если у вас старая версия pulse-audio (до 0.9.3), вы можете использовать авторизацию на основе файлов cookie.
pactl load-module module-native-protocol-tcp auth-anonymous=1 auth-cookie-enabled=0
scp ~/.pulse-cookie you@remotehost:
ssh -R 9999:localhost:4713 you@remotehost
Очевидно, что вы можете просто не использовать аутентификацию в Pulse-Audio, но я не могу рекомендовать вам это решение. Используйте, по крайней мере, брандмауэр, чтобы избежать удаленных подключений.
pactl load-module module-native-protocol-tcp auth-ip-acl=localhost
. Я пропускаю зависимость или что-то?