Türkçe Konuşan Saat
Tasarladığımız Türkçe konuşan saatimiz, php ve javascript ile çalışıp, bize rakamları yazı olarak gösteriyor ve saati Google Translate servisinden aldığımız ses dosyalarını birleştirip bize sesli olarak okuyor. ses dosyalarını oluşturmak için
saating işleyişi basit;
function Clock(){ //temek saat fonksiyonu var _Time = new Date(); var _Hour = _Time.getHours(); var _Min = _Time.getMinutes(); var _Sec = _Time.getSeconds(); $('#clock').html('< span class="time" id="hour">'+NumToText(_Hour)+'< /span>< span class="sperator">:< /span>< span class="time" id="minute">'+NumToText(_Min)+'< /span>< span class="sperator">:< /span>< span class="time" id="second">'+NumToText(_Sec)+'< /span>'); if(_isMinChanged !== _Min){ // konuşma için fonksiyonu çağır _isMinChanged = _Min; RenderTalk(_Hour,_Min); } }
clock fonksiyonumuz "window.onload = setInterval('Clock()',1000);" döngüsü sayesinde her 1 saniyede 1 çağırılıyor. her saat, dakika ve saniyeler yazılmadan önce NumToText() fonksiyonumuz sayesinde yazıya dönüştürülüyor ve sonrasında jquery html() kullanılarak sayfamızdaki clock kimlikli div e yazılıyor.
sayfa başlangıcında boş olarak atanmış _isMinChanged parametremiz her dakika değiştiğinde RenderTalk() fonksiyonunun çağırılmasına neden oluyor.
function RenderTalk(_CurHour,_CurMin){ // konuşmayı yarat ... _CurMin = ( _CurMin < 10 ? "0-" : "" ) + _CurMin; if(_Greeting == ""){ if(_CurHour >= 6 && _CurHour <= 11){_GreetingMsg = "gunaydin-";} if(_CurHour >= 12 && _CurHour <= 17){_GreetingMsg = "tunaydin-";} if(_CurHour >= 18 && _CurHour <= 23){_GreetingMsg = "iyi_aksamlar-";} if(_CurHour >= 0 && _CurHour <= 6){_GreetingMsg = "iyi_geceler-";} _Greeting = "1"; }else{ _GreetingMsg = ""; } $('#player').html('< audio autoplay preload="auto" autobuffer>< source src="mp3/'+_GreetingMsg+'saat-'+_CurHour+'-'+_CurMin+'.mp3">< /audio>'); } < /source>
RenderTalk() fonksiyon sayesinde player kimlikli div e
buradaki _Greeting paramerresini belirtilen saatler arasında belirtilen karşılama sesleriniz oluşturmak için kullandık.
header("Content-Type: audio/mpeg"); $pieces = explode("-", $_GET['f']); if(file_exists('mp3/'.$pieces[0].'.mp3')){$mp3 .= file_get_contents('mp3/'.$pieces[0].'.mp3');}; if(file_exists('mp3/'.$pieces[1].'.mp3')){$mp3 .= file_get_contents('mp3/'.$pieces[1].'.mp3');}; if(file_exists('mp3/'.$pieces[2].'.mp3')){$mp3 .= file_get_contents('mp3/'.$pieces[2].'.mp3');}; if(file_exists('mp3/'.$pieces[3].'.mp3')){$mp3 .= file_get_contents('mp3/'.$pieces[3].'.mp3');}; if(file_exists('mp3/'.$pieces[4].'.mp3')){$mp3 .= file_get_contents('mp3/'.$pieces[4].'.mp3');}; echo $mp3;
mp3.php dosyamız aldığı parametreleri taratıcıya tek bir mp3 dosyası olarak gönderiyor. örnek sesi buradan dinleyebiliriz.
buradan örneğimizi inceleyebilir, buradanda çalışmaya ait dosyaları indirebiliriz.