TalhaZekeriyaDurmuş Posted July 7, 2011 Share Posted July 7, 2011 [img]http://talhadurmus.com/1.png[/img] Yollanan resim mp3 player için bilgisayardaki mp3leri seçiyorum ve açıyorum. Açtığımda hepsi ayrı bir exe olarak açılıyor bu yüzden de aynı anda birkaç tane şarkı çalıyor. Programı birden fazla kere açılmasını engellediğimde de seçtiğim şarkılar değil yanlızca 1 tanesi açılıyor. Şarkıları programa direk sürüklediğimde sorunsuz bir şekilde sırayla çalabilmekte yardımcı olursanız sevinirim. Teşekkür ederim. Not: Konuyu yanlış yere açtım diye kapattılar admine soruyorum burası AutoIT : AutoIT hakkında yardım ve destek alabileceğiniz bölümü değil mi? Quote Link to comment Share on other sites More sharing options...
blackman12 Posted July 7, 2011 Share Posted July 7, 2011 Hangi kodla açıyorsun mp3 leri bi kodlarını ver de ona göre yardım edelim. Quote Link to comment Share on other sites More sharing options...
TalhaZekeriyaDurmuş Posted July 8, 2011 Author Share Posted July 8, 2011 If $CmdLine[0] > 0 Then listeye_ekle($CMDLINE[1]) EndIf ile açıyorum ama sorun her mp3 açılışında bir tane exe açmasından dolayı $cmdline komutu ile bütün mp3 adreslerini okuyamıyorum Quote Link to comment Share on other sites More sharing options...
blue_life Posted July 8, 2011 Share Posted July 8, 2011 Yukarıdaki player autoit ile mi hazırlandı? Yoksa farklı bir program mı? Çok az bilgi verdiğin için yardımcı olamayıyorum (şuan için)! Quote Link to comment Share on other sites More sharing options...
TalhaZekeriyaDurmuş Posted July 14, 2011 Author Share Posted July 14, 2011 AutoIT ile hazırlandı. Quote Link to comment Share on other sites More sharing options...
MostWanted Posted July 14, 2011 Share Posted July 14, 2011 (edited) If $CmdLine[0] > 0 Then for $i=1 to $CmdLine[0] listeye_ekle($CMDLINE[$i]) next EndIf yaparsan command ile çalıştırdığın bütün mp3ler tek tek okunur listeye eklenir. Edited July 14, 2011 by MostWanted Quote Link to comment Share on other sites More sharing options...
TalhaZekeriyaDurmuş Posted July 14, 2011 Author Share Posted July 14, 2011 Bunu yaptığım zaman bütün mp3leri okutmuyor sorunda bu. Yanlızca 1 tanesi geliyor çünkü $CmdLine array ına bütün mp3 ler gelmiyor yanlızca 1 tane geliyor çünkü windows üzerinden mp3leri seçip toplu olarak açtığımda exe ayrı ayrı açılıyor. Quote Link to comment Share on other sites More sharing options...
MostWanted Posted July 14, 2011 Share Posted July 14, 2011 Şöyle bir şey yap.Mp3leri fare ile seç programın exesine sürükle bakalım yine aynı sorun var mı? Quote Link to comment Share on other sites More sharing options...
TalhaZekeriyaDurmuş Posted July 14, 2011 Author Share Posted July 14, 2011 Aynı sorun yok. Sorun $CmdLine arrayına bütün mp3ler gelmiyor tek bir mp3 geliyor. Zaten kaç tane mp3 seçip aynı anda açmışsam o kadar çok mp3 player açılıyor. Bunu engelledim ama mp3lerin hepsini listeye eklemiyor Quote Link to comment Share on other sites More sharing options...
hayal@_kny Posted July 14, 2011 Share Posted July 14, 2011 $CMDLINE[1]) dersen sadece 1 i ekler çıkar dolayısıyla her biri için yeni exe açar 1 yerine bi değişken koyman lazım. Quote Link to comment Share on other sites More sharing options...
MostWanted Posted July 14, 2011 Share Posted July 14, 2011 If $CmdLine[0] > 0 Then for $i=1 to $CmdLine[0] listeye_ekle($CMDLINE[$i]) next EndIf kodları böyle değiştirdiğine emin misin? Quote Link to comment Share on other sites More sharing options...
TalhaZekeriyaDurmuş Posted July 14, 2011 Author Share Posted July 14, 2011 [img]http://talhadurmus.com/2.png[/img] $CMDLINE[0] = 2 $CMDLINE[1] = -a $CMDLINE[2] = "C:\Users\Benma\Music\Eminem\Look At Me Now 2\10 - I Need A Doctor (Feat. Dr. Dre).mp3" oluyor. Yani 1 farklı bir mp3 2 farklı bir mp3 değil malesef Quote Link to comment Share on other sites More sharing options...
MostWanted Posted July 14, 2011 Share Posted July 14, 2011 Mahsuru yoksa kodları alabilir miyim? Quote Link to comment Share on other sites More sharing options...
TalhaZekeriyaDurmuş Posted July 14, 2011 Author Share Posted July 14, 2011 #include <array.au3> _ArrayDisplay($CmdLine) şu kodları exe yapıp mp3lerin varsayılanını çevirdiğin exe yapıp aynı anda birkaç tane mp3 ü seçip açar mısın. Her seferinde farklı array gelecek çünkü her mp3 bir exe çağırıyor. Ve her arrayda ise 1.sinin değeri=1. 2.sinin değeri ise=bir tane mp3ün adresi olacak Quote Link to comment Share on other sites More sharing options...
MostWanted Posted July 14, 2011 Share Posted July 14, 2011 Command line çok kullandım.Nasıl kullanıldığı gayet iyi biliyorum.Dediğini şimdi anladım.Öyle yapması normal çünkü her mp3 tıkladığın zaman yeni exe çalıştırılma komutu gidiyor.Yani sen tek tek mp3 aç dersen dediğin sorunla karşılaşırsın.Fakat toplu açtığında olmaması lazım yani hepsini sürükleyip açtığında.Her neyse winampı düşün.Onda her mp3 açtığında o mp3 tek olarak açılır. If UBound(ProcessList(@ScriptName)) > 2 Then ; MsgBox(16, "Hata!", "Zaten çalışan bir program mevcut!", 5) örnek uyarı. İstersen hiç uyarı koymazsın Exit 0 EndIf Çalışan ayrıca bi programı bununla sonlandırıp sonra yeni mp3 ünü açtırabilirsin.ha ama bi kerede toplu açıyosan üstteki kodlar çalışır.Kolay gelsin. Quote Link to comment Share on other sites More sharing options...
TalhaZekeriyaDurmuş Posted July 14, 2011 Author Share Posted July 14, 2011 Hepsini sürükleyip açmada sorun yok zaten tek sorun mp3leri direk seçip açmada. Diğer mp3 playerlara baktım onlarda da birkaç tane açılıyor exe ama onlar bir yolunu bulmuşlar ve aktarmışlar ilk açılan mp3 playera. Bende bunun için temp de bir txt oluşturdum oraya yazdım. İlk açılan exe ise txt yi belli aralıklarla okuyor ama buda olmadı bazen erken okuyor ve bütün mp3ler gelmiyor Quote Link to comment Share on other sites More sharing options...
MostWanted Posted July 14, 2011 Share Posted July 14, 2011 En mantıklısı en son dediğin ilk açılışta birden çok çalışıp çalışmadığına bakarsın sonra çalışıyosa bi text e yazarsın.Okuturken muhtemelen bi yerde küçük kod hatası yapıyosun okumama gibi olay olmaz. Quote Link to comment Share on other sites More sharing options...
TalhaZekeriyaDurmuş Posted July 14, 2011 Author Share Posted July 14, 2011 Şimdi exe her 1 saniyede bir txtyi okuyup içini siliyor ama 5-10 tane açtığım zaman 1 saniyeden fazla sürüyor bazen veya şarkıların bir kısmı okumadan önceye ve okuduktan sonraya düşüyor ve ilk okunulan şarkılar okunmuyor internette biraz araştırdım exeler arasında veri alışverişi oluyormuş tcp veye udp ile değil StdinWrite ile falan yapılıyormuş ama bununlada yapamadım Quote Link to comment Share on other sites More sharing options...
MostWanted Posted July 14, 2011 Share Posted July 14, 2011 aa haklısın tcp kullanabilirsin o aklıma gelmemişti.Autoit de var fonksiyon.Hatta bir örneğim bile vardı ama ne yazık ki evimde kaldı.Autoit forumunda bulursun.En iyisi öyle yap iyi olur. Quote Link to comment Share on other sites More sharing options...
TalhaZekeriyaDurmuş Posted July 15, 2011 Author Share Posted July 15, 2011 TCP ve UDP kullandığında biraz sorun olur StdinWrite komutu ile yapıyormuş birçok program Quote Link to comment Share on other sites More sharing options...
blue_life Posted July 15, 2011 Share Posted July 15, 2011 @TalhaZekeriyaDurmuş StdinWrite,StdoutRead,StderrRead vs. gibi komutlar başka bir uygulamayı kontrol etmek içindir. Lakin bunun için ilgili programın, kontrol yapacak program tarafından çalıştırılması gerekiyordu galiba! Yani programımız aa.exe olsun. Diğer programımızda bb.exe olsun. aa.exe tarafından bb.exe çalıştırılır. bb.exe den çıkan çıktılar (ConsoleWrite) aa.exe den StdoutRead/StderrRead ile okunabilir. ben bb.exe dedim ama bu aynı programda olabilir. Tabi bu senin işine burda yaramaz. Yarasa bile kasmalara neden olabilir... TCP ve UDP komutları da bence bu iş için iyi deyil. Şimdi sen; bir mp3 dosysına tıkladığında dosya yürütülüyor. Sonra farklı bir mp3 dosyasına tıkladığında bu dosyanın yürütülülmesini ama önceki dosyanın listeden silinmesini mi istiyorsun? Yoksa son tıkladığın mp3 ün çalışmadan listenin sonuna mı eklenmesini istiyorsun? Ben olsam en basit olarak; Program çalıştığında, daha önceden çalışıyor mu diye kontrol ederdim. Eğer çalışıyorsa registyde gecici bir reg yazardım. Mp3 konumu mesela! Daha önce çalışan programda bir döngü içinde bu registry bilgisini kontrol ederdi. Içerikte yeni bir şey varsa listeye ekler ve registry değerini silerdi! Registryden okuma ve yazma işlemleri hızlı olduğu için registry tercih ederdim. Doyaya yazma şeklide kullanılabilir... Tabi farklı yöntemleride vardır. Ama kodlaman hakkında bilgimiz olmadığından sadece tahmin yürütüyoruz... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.