MediaPlayer (MCI) Path hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
lash003
Üye
Mesajlar: 8
Kayıt: 10 Nis 2005 01:40

MediaPlayer (MCI) Path hatası

Mesaj gönderen lash003 »

Merhaba Arkadaşlar;
Uzun zamandır Delphi ile ilgilenimyordum .NET e ayak uydurmak ve uzak kalmamak için yoğun bir kampa girmiştim.Çalışmalarım esnasında C# da bi media manager hazırladım.Ancak türkçe isimli mp3 leri yada doya yolu (pth) içinde türkçe karakterler varsa hata alıyordum.Nostalji yapıp Delphi de deniyim dedim aynısını, sorun aynı.MediaPlayer bileşenine .Filename yi bildiriyorum.

Kod: Tümünü seç

player.FileName:='C:\Adnan Şenses.mp3';
player.Open;
player.Play;
Şeklinde düzenliyorum.MCI ın yani bileşenin .Open işlevini yerine getiremediğini bildiriyor.Sanırsam sorun dosya isminde.
Dosya ismindeki türkçe karakterleri oluşturduğum fonksiyonla hex'e çevirip string'e atadım. .Filename yi o şekilde atadım ama yemedi :) .İşletim sistemim XP PRO SP3 , BS Player ,Media Player ,Winamp sorunsuz çalıyor türkçe isimli mp3 leri.
Dosya isminin ANSI olması diye düşündüm sorunu.UNICODE yada UTF-8 e çevirme işlemimi yapmalıyım.Yardımlarınızı bekliyorum.
sineyk
Üye
Mesajlar: 4
Kayıt: 03 Oca 2008 12:51

Re: MediaPlayer (MCI) Path hatası

Mesaj gönderen sineyk »

Yanılmıyorsam o bileşen mp3 çalamıyordu.
Turbo Delphi Explorer kullandığımdan şöyle bir şey işinizi görür belki. Eminim diğer sürümlerde Windows Media Player ActiveX'ini kullanarak da bunu yapabilirsiniz.

uses bloğu sonuna WMPLib_TLB ekleyin.
var bloğunda Player: TWindowsMediaPlayer; olarak tanımlayın.
formcreate olayında Player:=TWindowsMediaPlayer.Create(Form1); olarak belirtin ve mp3 dosyasını açarken de Player.URL:='c:\iştemp3.mp3'; diyerek mp3'ü açın. İşiniz biterken de (ondestroy olayına) Player.Free; ekleyin.
lash003
Üye
Mesajlar: 8
Kayıt: 10 Nis 2005 01:40

Re: MediaPlayer (MCI) Path hatası

Mesaj gönderen lash003 »

MCI winapi nin desteklediği tüm şarkı ve media türlerini çalıyor.Yani buna mp3 de dahil.Ancak dediğinizi denedim ActiveX olarak sorunum için geçici bir çözüm olabilir.Ancak sorunun kaynağı hala muamma ??
Cevapla