تبليغاتX
Notes On Computer Networks - persian saynumber() function for asterisk
#!/usr/bin/php -q

set_time_limit(30);
require('phpagi.php');
error_reporting(E_ALL);

$agi = new AGI();
$agi->answer();


PersianSayNumber($agi,555005500);




//////////////////////////////////////////////////
//////////////////////////////////////////////////
//////// PersianSayNumber Function ///////////////
/////// for pronuncing numbers in ///////////////
/////// PERSIAN ///////////////
//////////////////////////////////////////////////
//////////////////////////////////////////////////

function PersianSayNumber($agi,$a)
{
/////////////////////////////
////// if 0<19 ///////////

if ( $a>=0 && $a<=19 )
{
playnum($agi,$a);
}

/////////////////////////////
//////if 20
<99 ///////////

elseif($a>=20 && $a<=99)
{
if (($a % 10) == 0)
{

playnum($agi,$a);

}//end if
else
{
playnumo($agi,(int)($a / 10)*10 );
PersianSayNumber ($agi,$a % 10);
}
}

///////////////////////////
//////if 100
<999 ////////

elseif($a>=100 && $a<=999)
{
if (($a % 100) == 0)
{

playnum($agi,$a);

}//end if
else
{
playnumo($agi,(int)($a / 100)*100 );
PersianSayNumber ($agi,$a % 100);
}

}

/////////////////////////////
/////if 1000
<999999 ///////

elseif($a>=1000 && $a<=999999)
{
if (($a % 1000) == 0)
{
PersianSayNumber($agi,(int)($a / 1000));
$agi->stream_file("persianvoice/1000");

}//end if
else
{
PersianSayNumber($agi,(int)($a / 1000));
$agi->stream_file("persianvoice/1000o");
PersianSayNumber ($agi,$a % 1000);
}

}

////////////////////////////////
//if 1000000
<999999999 //////

elseif($a>=1000000 && $a<=999999999)
{
if (($a % 1000000) == 0)
{
PersianSayNumber($agi,(int)($a / 1000000));
$agi->stream_file("persianvoice/1000000");

}//end if
else
{
PersianSayNumber($agi,(int)($a / 1000000));
$agi->stream_file("persianvoice/1000000o");
PersianSayNumber ($agi,$a % 1000000);
}

}

} // function PersianSayNumber()


/////////////////////////////////////////////////////
//////// Function Playnum for Pronuncing /////////
//////// 1-19 , 20,30,40,50,60,70,80,90,100 /////////
/////// 200,300,400,500,600,700,800,900 /////////
/////////////////////////////////////////////////////


function playnum($agi,$s)
{
switch ($s)
{
case 1 :
$agi->stream_file("persianvoice/1");
break;
case 2 :
$agi->stream_file("persianvoice/2");
break;
case 3 :
$agi->stream_file("persianvoice/3");
break;
case 4 :
$agi->stream_file("persianvoice/4");
break;
case 5 :
$agi->stream_file("persianvoice/5");
break;
case 6 :
$agi->stream_file("persianvoice/6");
break;
case 7 :
$agi->stream_file("persianvoice/7");
break;
case 8 :
$agi->stream_file("persianvoice/8");
break;
case 9 :
$agi->stream_file("persianvoice/9");
break;
case 10 :
$agi->stream_file("persianvoice/10");
break;
case 11 :
$agi->stream_file("persianvoice/11");
break;
case 12 :
$agi->stream_file("persianvoice/12");
break;
case 13 :
$agi->stream_file("persianvoice/13");
break;
case 14 :
$agi->stream_file("persianvoice/14");
break;
case 15 :
$agi->stream_file("persianvoice/15");
break;
case 16 :
$agi->stream_file("persianvoice/16");
break;
case 17 :
$agi->stream_file("persianvoice/17");
break;
case 18 :
$agi->stream_file("persianvoice/18");
break;
case 19 :
$agi->stream_file("persianvoice/19");
break;
case 20 :
$agi->stream_file("persianvoice/20");
break;
case 30 :
$agi->stream_file("persianvoice/30");
break;
case 40 :
$agi->stream_file("persianvoice/40");
break;
case 50 :
$agi->stream_file("persianvoice/50");
break;
case 60 :
$agi->stream_file("persianvoice/60");
break;
case 70 :
$agi->stream_file("persianvoice/70");
break;
case 80 :
$agi->stream_file("persianvoice/80");
break;
case 90 :
$agi->stream_file("persianvoice/90");
break;
case 100 :
$agi->stream_file("persianvoice/100");
break;
case 200 :

$agi->stream_file("persianvoice/200");
break;
case 300 :
$agi->stream_file("persianvoice/300");
break;
case 400 :
$agi->stream_file("persianvoice/400");
break;
case 500 :
$agi->stream_file("persianvoice/500");
break;
case 600 :
$agi->stream_file("persianvoice/600");
break;
case 700 :
$agi->stream_file("persianvoice/700");
break;
case 800 :
$agi->stream_file("persianvoice/800");
break;
case 900 :
$agi->stream_file("persianvoice/900");
break;

}
}

/////////////////////////////////////////////////////
//////// Function Playnumo for Pronuncing ///////
//////// 10o,20o,30o,40o,50o,60o,70o,80o,90o ///////
/////// 100o,200o,300o,400o,500o,600o,700o ///////
/////// 800o,900o ///////
/////////////////////////////////////////////////////


function playnumo($agi,$z)
{
switch ($z)
{

case 10 :
$agi10->stream_file("persianvoice/10o");
break;
case 20 :
$agi->stream_file("persianvoice/20o");
break;
case 30 :
$agi->stream_file("persianvoice/30o");
break;
case 40 :
$agi->stream_file("persianvoice/40o");
break;
case 50 :
$agi->stream_file("persianvoice/50o");
break;
case 60 :
$agi->stream_file("persianvoice/60o");
break;
case 70 :
$agi->stream_file("persianvoice/70o");
break;
case 80 :
$agi->stream_file("persianvoice/80o");
break;
case 90 :
$agi->stream_file("persianvoice/90o");
break;
case 100 :
$agi->stream_file("persianvoice/100o");
break;
case 200 :
$agi->stream_file("persianvoice/200o");
break;
case 300 :
$agi->stream_file("persianvoice/300o");
break;
case 400 :
$agi->stream_file("persianvoice/400o");
break;
case 500 :
$agi->stream_file("persianvoice/500o");
break;
case 600 :
$agi->stream_file("persianvoice/600o");
break;
case 700 :
$agi->stream_file("persianvoice/700o");
break;
case 800 :
$agi->stream_file("persianvoice/800o");
break;
case 900 :
$agi->stream_file("persianvoice/900o");
break;

} //end switch

} // end function playnumo()
$agi->hangup();


?>

code : http://linux-notes.persiangig.com/document/persian_saynum.txt

+ نوشته شده توسط امید مهاجرانی در سه شنبه دوازدهم خرداد 1388 و ساعت 12:52 |