Hi,
I wanted to say a date (and time) in german, but did not found a way to do this with sayunixtime, so I wrote this agi script.
(I could switch to german, but it was not correct)
be sure to use the sound files from: http://www.stadt-pforzheim.de/asterisk/dateien/ast_prompts_de.tgz (which are of very good quality)
(only works from 2000 to 2019 (-:, which should be enough for the moment )
I adjusted some sleeps beween the digits to make it sound more natural.
feel free to send me your suggestions (it's my first agi script ever),
PS: is there a sound file which contains "the" ?
/sebastian
---------------------SNIP------------------------ #!/usr/bin/perl
use strict; use Time::HiRes qw/sleep/;
my %params; $|=1;
while(1) { my $line = <stdin>; chomp($line); last if $line eq ''; (my $key, my $value) = split(/\: /,$line); $params{$key}=$value; }
(undef,my $min,my $hour,my $mday,my $mon,my $year,my $wday,undef,undef) = localtime(time);
sendcmd('ANSWER'); sleep(1); sendcmd('STREAM FILE digits/de/day-'.$wday.' 0'); sleep(0.3);
if($mday > 19)
{
my $decade = substr($mday,0,1).'0';
sendcmd('STREAM FILE digits/de/'.($mday-$decade).'-and 0') if $mday ne $decade;
sendcmd('STREAM FILE digits/de/h-'.$decade.' 0');
}
else
{
sendcmd('STREAM FILE digits/de/h-'.$mday.' 0');
}
sendcmd('STREAM FILE digits/de/mon-'.$mon.' 0'); sendcmd('STREAM FILE digits/de/2 0'); sendcmd('STREAM FILE digits/de/thousand 0'); sendcmd('STREAM FILE digits/de/'.($year-100).' 0'); sleep(0.5);
if($hour > 19) { sendcmd('STREAM FILE digits/de/'.($hour-20).'-and 0') if $hour ne 20; sendcmd('STREAM FILE digits/de/20 0'); } else { sendcmd('STREAM FILE digits/de/'.($hour).' 0'); }
sendcmd('STREAM FILE digits/de/oclock 0'); sendcmd('STREAM FILE digits/de/and 0'); sleep(0.15);
if($min > 19)
{
my $decade = substr($min,0,1).'0';
sendcmd('STREAM FILE digits/de/'.($min-$decade).'-and 0') if $min ne $decade;
sendcmd('STREAM FILE digits/de/'.$decade.' 0');
}
else
{
sendcmd('STREAM FILE digits/de/'.$min.' 0');
}
sendcmd('STREAM FILE de/minutes 0'); sleep(2); sendcmd('HANGUP');
sub sendcmd($) { my $cmd = shift; print $cmd." \n"; my $retval = <stdin> ; return $retval; } ----------------SNAP-------------
_______________________________________________ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users