сделать промпты в виде MOH, включить этот MOH и собрать символы пока оно играет ?bartram писал(а): Но главная проблема все таки, это прекращение воспроизведения звука при нажатии первой клавиши. Ни одна из agi функций которые я пробовал не может и считывать клавиши, и играть файл одновременно.
Код: Выделить всё
#!/usr/bin/perl
use Asterisk::AGI;
use strict;
my $AGI = new Asterisk::AGI;
my %input = $AGI->ReadParse();
$AGI->answer();
$AGI->set_music('on');
my $result = '';
my $timeout = 600;
my $start_time = time;
while ( 1 ) {
my $ch = $AGI->wait_for_digit( $timeout * 1000 );
if ( $ch <= 0 ) {
last;
} else {
$ch = chr($ch);
if ( $ch eq '#' ) {
last;
} else {
$result .= $ch;
}
}
$AGI->verbose( "Result: $result" );
last if time - $start_time > $timeout;
}
$AGI->set_music('off');
$AGI->say_digits($result);
В чём же он не правильный?switch писал(а):Топик можно считать наглядным примером неправильного анализа задачи