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