Как я могу перенаправить звук в файл 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