Как я могу перенаправить звук в файл FIFO?
У меня есть программа, которая использует FIFO файлы для взаимодействия с пользователем. Можно сделать аудиозвонок, направив вывод arecord
в один из файлов программы FIFO:
arecord -r 48000 -c 1 -f S16_LE > call_in
На звуковой вызов можно ответить, направив вывод одного из файлов FIFO программы на aplay
:
aplay -r 48000 -c 1 -f S16_LE - < call_out
Как можно использовать аудиофайл вместо первой команды, которая использовалась для совершения вызова? Допустим, я хочу сыграть "sound.wav" в это call_in
файл, как это можно сделать?
2 ответа
Если arecord
Ввод вашей звуковой карты, то я предлагаю: aplay sound.wav & arecord call_in
aplay
должен воспроизвести ваше сообщение. &
позволяет следующую команду, arecord
, чтобы сразу выполнить, который должен начать запись, что aplay
отправляет на вашу звуковую карту.
На самом деле, arecord call_in & aplay sound.wav
Вероятно, будет лучше, поэтому вы можете быть уверены, что записываете до того, как сообщение будет воспроизведено.
Предполагая вывод arecord
функционально похож на содержимое файла wav (то есть они имеют одинаковый формат мультимедиа), вы можете просто сделать:
cat sound.wav > call_in