01 Şubat 2008, 05:41 | #1 | |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Playing sound(s) hakkında detaylı bilgi. Ders: Playing sounds Tarih: 31 Ocak 2008 - 22:45 Yazan: L4roXyL Amac: MP3 player vb. çalışmalar yapmak isteyenler için hazırladım. NOT: Artık amaç'da giriyoruz .) - /splay komutu bildiğiniz veya bilmediğiniz üzere mIRC üzerinde mp3/mid/waw uzantılı dosyaları oynatabilmenize/çalabilmenize olanak sağlamaktadır. Kullanımı(mIRC help dosyasında); /splay -cwmpq [filename | stop | pause | resume | seek | skip] [pos] Şeklinde yer almaktadır. Parametreler; -w(wave): Wav uzantılı dosyaları çalmak için kullanılır. -m(midi): Mid uzantılı dosyaları çalmak için kullanılır. -p(mp3): MP3 uzantılı dosyaları çalmak için kullanılır. -q: Bu parametre ise, şarkı listesi yapmanızı sağlar. Yani şöyle açıklıyayım, mesela deneme.mp3 mp3'ü çalıyor. Ve siz /splay -q deneme2.mp3 yaptınız. Deneme.mp3 mp3'ü bitince, deneme2.mp3 mp3'ü otomatik olarak çalıcaktır. -c: Bu parametre ise, "-q" parametresi ile oluşturduğunuz listeyi silicektir. Çalan parçayı sonlandırmak için: /splay stop Çalan parçayı durdurmak için: /splay pause Durdurulan şarkıyı devam ettirmek için: /splay resume Parçayı ilerletmek veya geriletmek için: /splay seek pos(aşşağıda açıklıyacağım) Bir sonraki parçaya atlamak için: /splay skip Komutlarını kullanıyoruz. /vol -wmpvuN [volume] Bu komut ise, çalan mp3/midi/wave dosyalarını veya bilgisayarın ana ses'ini açmak/kapatmak/kısmak için kullanılır. Bu komut hakkında bir kaç açıklama yapıcağım; Ses miktar'ı 0 ile 65535 arasında değişmektedir. Görüldüğü gibi, 0(ses sıfır'da demek) 65535 ise en yüksek ses seviyesi demek. Bunun mantığını en son yazdığım kod'da anlıyacaksınız. Parametreler; -w: Wave dosyalarının seslerini kontrol etmek veya işlev yapmak için kullanılıyor. -p: MP3 dosyalarının seslerini kontrol etmek veya işlev yapmak için kullanılıyor. -m: Midi dosyalarının seslerini kontrol etmek veya işlev yapmak için kullanılıyor. -v: Bilgisayarınızın ana sesi üzerinde işlem yapmanızı sağlar. Şöyleki; /vol -v 0-65535 -uN: Buradaki "N" yerine "1" ve "2" rakamları gelmek zorundadır. Bu parametre çalan mp3/midi/wave dosyasının veya pc ana sesini açmak ve kapatmak için kullanılır. Bilgisayarın ana ses konsolunu sessiz(mute) hale getirmek için: /vol -vu1 komutunu kullanıcaksınız. Yine bilgisayarınızın ana ses konsolunu sessiz(mute) mod'dan çıkarmak için: /vol -vu2 komutunu kullanıcaksınız. NOT: Burada dikkat etmeniz gereken önemli nokta, parametrelerdir. Yani /vol -pu1 yaptığınız'da sadece mp3 dosyaları için, mute konumuna geçmiş olursunuz. Bu olay sesi kısma/açma olayların'dada aynıdır. Identifier'lar; 1- $vol(wave | midi | song | master) - Prop: mute Bu identifier, belirtilen dosya biçimi için veya pc ana(master) ses seviyesini belirtir. Örneğin; //echo -ae $vol(midi) mid uzantılı ses dosyası için, ayarlanmış ses miktarını verir. Properties: mute Mute prop'u ise, belirtilen dosya biçimi veya bilgisayarın ana ses'inin açık olup olmaduğını "$true ve $false" yanıtları ile bize bildirir. Örneğin; //echo -a $vol(master).mute bilgisayarın ana ses'inin açık olup olmadığını kontrol eder. Eğer gelen cevap, $false ise ses açık, gelen cevap $true ise ses kapalı demektir. 2- $inwave(wav dosyası), $inmidi(mid dosyası), $insong(mp3 dosyası) - Prop: fname, pos, length, pause Bu identifier'lar, mp3/wav/mid dosyalarının çalıp/çalmadığını kontrol etmek için kullanılır. Tabiki properties'larla çalan veri hakkında detaylı bilgiler alabiliyorsunuz. Örneğin: //echo -a $insong yaptığınız'da, eğer çalan bir "MP3" dosyası varsa $true olarak yanıt alırsınız. Aynı sistem diğerleri($inwave, $inmidi) için'de geçerlidir. Properties: fname, pos, length, pause //echo -a $isnong.fname (Çalan MP3 dosyasının hangi klasör'de bulunduğunu gösterir) //echo -a $insong.pos (Çalan MP3 dosyasının bulunduğu ilerlerme miktarını gösterir) //echo -a $insong.length (Çalan MP3 dosyasının uzunluğunu verir) //echo -a $insong.pause (Çalan MP3 dosyasının durdurulup/durdurulmadığını kontrol eder. Cevaplar yine $true, $false şeklinde gelmektedir.) NOT: $insong ile $inmp3 aynıdır. 3- $sound(filename) - Prop: album, title, artist, year, comment, genre, track, length, version, bitrate, vbr, sample, mode, copyright, private, crc, .id3, .tag, .tags Bu identifier en çok bilgiyi veren identifier'ımızdır. Properties: //echo -a $sound($insong.fname).album (Çalan MP3'ün albüm ismini gösterir.) //echo -a $sound($insong.fname).title (Çalan MP3'ün başlık ismini gösterir.) //echo -a $sound($insong.fname).artist (Çalan MP3'e girilmiş olan şarkıcı ismini gösterir.) //echo -a $sound($insong.fname).year (Çalan MP3'ün yılını/senesini gösterir.) //echo -a $sound($insong.fname).comment (Çalan MP3'e girilen yorum'u gösterir.) //echo -a $sound($insong.fname).genre (Çalan MP3'ün ekolayzır'ını gösterir.) //echo -a $sound($insong.fname).length (Çalan MP3'ün uzunluğunu gösterir.) //echo -a $sound($insong.fname).version (Çalan MP3'ün versiyon bilgisini gösterir.) //echo -a $sound($insong.fname).bitrate (Çalan MP3'ün kbps değerini gösterir.) //echo -a $sound($insong.fname).sample (Çalan MP3'ün khz değerini gösterir.) //echo -a $sound($insong.fname).mode (Çalan MP3'ün hangi şekilde çaldığını gösterir.) //echo -a $sound($insong.fname).copyright (Çalan MP3'ün telif hakkı bilgisini gösterir.) //echo -a $sound($insong.fname).private (Çalan MP3'ün özel olup/olmadığını gösterir.) //echo -a $sound($insong.fname).crc (Çalan MP3'ün korumalı olup/olmadığını gösterir.) //echo -a $sound($insong.fname).id3 (Çalan MP3'ü hakkında versiyon bilgisini gösterir.) //echo -a $sound($insong.fname).tag (Çalan MP3'de kaç adet tag bulunduğunu gösterir.) //echo -a $sound($insong.fname).tags (Çalan MP3'deki tüm tag'ları gösterir.) NOT: Örnek olarak $insong kullandık, tabiki siz çaldığı taktirde $inwave/$inmidi kullanabilirsiniz. Yukarıdaki properties'ların hepsi bunlardada geçerlidir. Birde, /sound komutu bulunmaktadır. Kullanım şekli; /sound [on|off|nick/channel] <file.wav|file.mid|file.mp3> <message>Bu komut ise çalan parçayı belirlediğiniz nick'e veya kanal'a, messages kısmına eklediğiniz mesaj ile birlikte bildiri yapar. Örneğin; /sound #kanal deneme.mp3 Deneme.mp3 dinliyorum. ON/OFF ses isteklerini açıp kapatmanıza yarar. Playing sounds hakkında event'ler; 1- on midiend 2- on waveend 3- on mp3end Bu event'ler, mp3/mid/wav dosyaları sona erdikleri zaman aktif olan eventlerdir. Event içerisin'de, $filename sona eren dosya ismini verir. Örnek kullanım: on *:mp3end:/splay -p deneme.mp3 Dersimiz burada sona ermiştir. Ne gibi bir kod yazılabilir ders sonunda? Basit bir mp3 çalar yapalım; Kod: Kodu kopyalamak için üzerine çift tıklayın!
Kod'umuzu açıklıyalım; /mp3player aliasımız; alias mp3player $iif(!$window(@mp3),window -lCadk0 +l @MP3 0 0 370 300) | aline 5 @MP3 $str(-,38) MP3 Çalar $str(-,40) ;Eğer @mp3 isminde bir pencere yok ise, pencere açıyoruz. ;Parametreler; ;l: Listbox yüklüyoruz. ;C: Pencereyi ortada açıyoruz. ;a: Aktif ekranda açıyoruz. ;d: Masa üstünde açıyoruz. ;k0: @ karakterini pencereden ayıklıyoruz. ;+l: Tool yüklüyoruz. ;Devamında /aline ile pencerenin ilk satırına, MP3 Çalar yazdırıyoruz. ;Tabi $str identifier'ını kullanarak text'in hem başına 38, sonuna 40 adet "-" karakteri koyuyoruz. Menümüz; menu @MP3 { ;listbox'a yüklediğimiz mp3'lerden herhangi birisine "çift tıkladığımız'da" veriyi s/play -p(mp3) komutu ile çalıyoruz. ;tabi ilk önce veriyi $gettok identifier'ı ile ayırıyoruz. Bunu yapmamızın sebebi, satır'daki mp3'ü almak. ;devamında /timer komutu ile "sr" isminde bir timer açarak her saniye başı /sure alias'ını uygulatıyoruz dclick:splay -p $findfile(%q,$gettok($sline($active,1),1,9),1) | .timersr 0 1 sure ;liste yükle isminde bir popup oluşturuyoruz. Bundan sonrasına dikkat; ;devamında, %q değerine seçilen klasör ismini atıyoruz. Eğer klasör seçilmez ise /echo komutu ile uyarı verdiriyoruz. Eğer liste seçilir ise; ;/aline komutu ile 3 satır "-" karakterini yazıdıyoruz. ;Devamında, %q değerine atanan klasör içindeki tüm .mp3 uzantılı dosyaları $findfile identifier'ının yardımı ile $nopath kullanarak pencere içine yüklüyoruz. ;Yalnız burada "$time($calc($sound($1-).length / 1000),nn:ss)" kısım önemli. Buradaki $1- $findfile identifier'ının bize verdiği tüm *mp3 uzantılı dosyalar. ;$sound($1-).length ile mp3 dosyasının, uzunluğunu alıyoruz. Ve 1000'e bölüyoruz. Son olarak $time identifier'ı ile, bu veriyi dakikaya(nn) ve saniyeye(ss) çeviriyoruz. ;Aradaki $+($chr(9),$chr(9)) kısmı ile 2 adet TAB koyuyoruz. Bunu yapmamızın sebebi, mp3'ler ile dakikaların bitişik olmamasıdır. Burada $str identifier'ıda kullanabilirdik. Niye kullanmadım yahu? Neyse devam edelim :) Liste yükle:set %q $sdir(C:\,MP3 klasörünü seçiniz.) | if (!%q) echo -aet Liste seçmediniz. | else aline 0 @mp3 - | aline 0 @mp3 - | aline 0 @mp3 - | return $findfile(%q,*.mp3,0,aline 2 @mp3 $nopath($1-) $+($chr(9),$chr(9)) $time($calc($sound($1-).length / 1000),nn:ss)) - ;Burada yukarıda açıkladığım gibi ses limitini giriyoruz(istemiyen girmez) ;$input identifier'ındaki "e" parametresi editbox, "o" parametresi ise, ok butonu demektir. ;Neyse $input'dan aldığımız veri ile 655.35(en düşük ses limit) çarpıyoruz. Ve aldığımız veriyi "/vol -p" sadece mp3ler için işliyoruz. ;tabi siz gidipte "10000" veya "adsasd" sallamayn, zaten belirtmişim 1 ile 100 arasında bir rakam girin diye. He ben bunu yasaklarmıydım? Evet. Ama amac basit bir kod yazmak zaten kısa ve öz .) Ses ayarı:vol -p $calc(655.35 * $iif($input(1 ile 100 arasında ses limiti giriniz.,eo) == $null,100)) - ;Durdur/devam adında bir popup daha ekliyoruz. Bu popup'a tıkladığınız'da; ;Eğer çalan mp3 durmuş ise, devam edicektir. Eğer pause modun'da değil ise, durdurulacaktır. ;gayet basit yani. Durdur/Devam:$iif($insong.pause,splay resume,$iif($insong,splay pause)) - ;Burada eğer çalan bir mp3 dosyası var ise, "/splay stop" komutu ile mp3'ü sonlandırıyoruz. ;Buda gayet basit. Bitir:$iif($insong,splay stop) - ;Burada gördüğünüz gibi ama listeyi temizlemek. ;Popup'a tıkladığınız'da 2 ile son satır arasındaki tüm satırları /dline komutu ile temizliyoruz. ;Sonrada $input ile temizlendiğini belirtiyoruz. Bunu neden koydum :S Şimdi garip geldi. Sanırım şekil olsun diye koydum. ;Neyse idare edin .) Listeyi temizle:dline @mp3 $+(2,-,$line(@mp3,0)) | splay stop | .timersr off | $iif($input(Liste temizlendi.,o,Temizlendi) == $true,halt,halt) - ;Adı üstünde kapat popup'una tıkladığımız'da; sr isminde timer'ı kapatıyoruz. ;Devamında pencereyi kapatıyoruz. Ve son olarak çalan bir mp3 var ise sonlandırıyoruz. Kapat:.timersr off | window -c @mp3 | $iif($insong,splay stop) } /sure aliasımız; alias sure var %sure = $time($int($calc($insong($insong).length / 1000)),nn:ss),%sure2 = $time($round($calc($insong.pos / 1000),0),nn:ss),%byt = $bytes($file($insong.fname).size,m),%khz = $iif($calc($sound($insong.fname).sample /1000),$calc($sound($insong.fname).sample /1000),YOK.),%kbps = $iif($sound($insong.fname).bitrate,$sound($insong. fname).bitrate,YOK.) | rline 4 @MP3 3 $str($chr(160),15) $+(%sure2,/,%sure) - Kbps: %kbps - Khz: %khz - Boyut: %byt ;OO bu gerçekten önemli. Şimdi beni iyi dinlenemenizi istiyorum. ;İlk olarak %sure variablesine, yukarı'dada anlattığım gibi, çalan mp3'ün uzunluğunu alarak, ;ve bu uzunluğu 1000'e bölerek $time identifier'ı ile süreyi elde ediyoruz. ;Yani burada çalan şarkının süresini meydana çıkartıyoruz. ;%sure2 değerine ise $insong.pos(çalan mp3'ün ilerleme safası)'nı 1000'e bölüyoruz. ;$round ile yuvarlıyarak, $time identifier'ı ile yine süreye çeviriyoruz. ;Ama buradaki fark ne? Bu süre devamlı değişiyor/yükseliyor. Biz'de bu süreyi pencereye yazırcaz ama az bekleyin oraya daha gelmedik. ;$bytes identifier'ı ile çalan mp3'ün boyutunu "m" anahtarını kullanarak MB'a uyarlıyoruz. Ki bundan anlamıyacak birşey yok, çok basit. ;Unutmadan bir'de bu veriyi %byt variablesine atıyoruz. ;Devamında, yukarıda söylemiştim ".sample" prop'u khz değerini veriyor diye. ;Ama tabiki cart diye vermiyor, biz bunu 1000'e bölüyoruz o zaman birşeye benziyor. ;Sonra bu khz değerini %khz variablesine atıyoruz. ve devam ediyoruz (sıkıldım bu arada :+) ;Devamında, yine yukarıda söylediğim gibi ".bitrate" prop'u kbps değerini alıyoruz. ;Bu değeri %kbps variablesine atıyoruz. He birde %khz ve %kbps variablelerine değer atarken, $iif kullandım. ;Bazen bu tanıtı alamıyoruz. O yüzde eğer yanıt gelmez ise, olmayan değer yerine "YOK." diye yazdırıyoruz. ;- ;VE son olarak /rline(replace line) komutu ile aldığımız tüm değer'leri 3. satır'a yazdırıyoruz. ;Şimdi diyeceksiniz'ki, "timer niye açtın kardeşim? ;Timer'ı açmasaydım, çalan mp3'ün ilerlemesini göremiyecektiniz. Boşuna açmadık yani. on close event'imiz; on ^*:close:@mp3:.timersr off | splay stop ;Gayet basit, @mp3 penceresi kapandığında, "sr" isminde timer'ı kapatıyoruz. Ve çalan mp3'ü sonlandırıyoruz. ;Bunu yapmazsak mp3 çalmaya devam eder. Ve timer'a atadığımız /sure komutu her saniye tekrarlar, kafayı yersiniz. Dersimiz ve kod açıklamamız burada sona ermiştir. Umarım birşeyler öğrenebilirsiniz. Bu arada mp3 çalar'ı demek için; /mp3player yazınız. | |
|
Etiketler |
bilgi, detayli, detaylı, hakkinda, hakkında, mirc, mirc download, mirc indir, playing, sounds |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| |
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
24 Cinlerin mahiyeti ve özellikleri hakkında detaylı bilgi verir misiniz? | Tanem | İslamiyet | 1 | 28 Mart 2022 07:21 |
Esma-ül hüsna Hakkında Detaylı Bilgi | Swat | Esmâ-Ül Hüsnâ | 1 | 07 Eylül 2020 21:15 |
Oracle - Indexler Hakkında detaylı bilgi | Burce | Oracle | 0 | 15 Aralık 2015 15:21 |
Agent(s) hakkında detaylı bilgi. | L4roXyL | mIRC Scripting Dersleri | 6 | 06 Nisan 2013 11:25 |
Tarihi Miraslarımız Olan, Medreseler Hakkında Detaylı Bilgi. | Sevda | Tarih | 0 | 18 Ocak 2013 21:01 |