существует ли программа для Windows (или командная строка Linux) платформа, которая сделала бы ниже из командной строки?
Командная строка Linux:
linphone
включает scriptable linphonec
версия командной строки. Запуск linphonec
с --pipe
опция создаст сокет в /tmp
тот может записать в и читать из.
Это выполняет все Ваши требования, и я протестировал (на мое собственное использование) всех их успешно:
Вы сделали бы цикл как это:
#!/bin/bash
socket=/tmp/linphonec-$(id -u)
filename=$HOME/record
number=123456789
passfile=$HOME/1234.wav
linphonec --pipe 2>&1 |
while read -r line
do
echo $line
case $line in
*Ready )
sleep 1
echo ">>> initializing"
for command in "soundcard use files" "record $filename" "call $number"
do
echo -n $command | nc -q 5 -U $socket
done
;;
*Call\ *\ with\ *\ connected. )
sleep 1
echo ">>> sending pass"
echo -n "play $passfile" | nc -q 5 -U $socket
;;
*Call\ *\ ended. )
sleep 1
echo ">>> quitting"
while echo -n quit | nc -q 5 -U $socket 2&>-
do
i=$(expr $i + 1)
if test $i -ge 5
then
echo $(basename $0): could not shut down linphonec &>2
exit 1
fi
sleep 2
done
echo ">>> END"
exit
;;
esac
done
Это еще не находится на оптимальном решении. Отметьте это под >>> sending pass
, Я играю wav файл вместо того, чтобы отправить последовательность DTMF. linphone
способно к последнему, но во время моей поверхностной игры я еще не нашел правильный способ сделать так, в то время как звук в - и произвел, находится на основе файла, чтобы позволить записывать.
К сожалению, документация linphone редка. У меня были лучшие результаты, только запускающиеся linphonec
в интерактивном режиме и использование встроенного help
.