3

У меня есть программа, которая использует 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 ответа2

1

Если вход arecord - ваша звуковая карта, то я предлагаю: aplay sound.wav & arecord call_in

aplay должен воспроизвести ваше сообщение. & Позволяет немедленно выполнить следующую команду arecord , которая должна начать запись того, что aplay отправляет на вашу звуковую карту.

На самом деле, arecord call_in & aplay sound.wav , вероятно, будет лучше, так что вы можете быть уверены, что записываете до того, как сообщение будет воспроизведено.

0

Предполагая, что выходные данные arecord функционально аналогичны содержимому файла wav (то есть они имеют одинаковый формат мультимедиа), вы можете просто сделать:

cat sound.wav > call_in

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .