TMediaPlayer1 Hatası

C, C++ ve C++ Builder ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Kullanıcı avatarı
uranyum238
Üye
Mesajlar: 50
Kayıt: 06 Kas 2005 10:46

TMediaPlayer1 Hatası

Mesaj gönderen uranyum238 »

Arkadaşlar formumda bir checkbox,edit,mediaplayer ve timer var timerdaki kodlar aşağıda;

Hata: "Belirtilen dosya bulunamıyor..." Normalde \\ işaretini koyduğumuzda exenin olduğu klasörden mp3 dosyasını çalması gerekmiyor mu?

Kod: Tümünü seç

if (CheckBox1->Checked && Edit1->Text=="1")
{
MediaPlayer1->DeviceType = dtAutoSelect;
MediaPlayer1->FileName="\\a.mp3";
MediaPlayer1->Open();
MediaPlayer1->Play();
}
Neyse Path olayını şöyle çözdüm;

Kod: Tümünü seç

AnsiString Yol;
Yol=ExtractFilePath(Application->ExeName);
if (CheckBox1->Checked && Edit1->Text=="1")
{
MediaPlayer1->DeviceType = dtAutoSelect;
MediaPlayer1->FileName=Yol+"\\a.mp3";
MediaPlayer1->Open();
MediaPlayer1->Play();
}
Bu seferde "MCI Başlatılırken bir sorun oluştu" diye bir hata veriyor ama kodlarda ben herhangi bir hata bulamıyorum.
Yardım ve yorumlarınızı bekliyorum...
akdatilla
Üye
Mesajlar: 292
Kayıt: 02 Nis 2006 06:04
Konum: Antalya

Re: TMediaPlayer1 Hatası

Mesaj gönderen akdatilla »

merhaba
Analadığım kadarıyla dosya adını hatalı veriyorsun.
Programı MediaPlayer1->FileName=xxxx; satırlarında durdurup dosya adı olarak ne aktarıldığını bir yere not al. Bu dosyayı çalışan mp3 programı ile
açmayı dene.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: TMediaPlayer1 Hatası

Mesaj gönderen sabanakman »

Yol vermeden \ ile yol verilirse o sürücünün kök dizinindeki dosyaya işaret eder. Yani \a.mp3 dosya adı c: sürücüsü aktifken (aktif klasör fark etmez) c:\a.mp3 dosyasına işaret eder. Zaten arkadaş gerekli yolu da ekleyerek sorunu çözmüş.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
uranyum238
Üye
Mesajlar: 50
Kayıt: 06 Kas 2005 10:46

Re: TMediaPlayer1 Hatası

Mesaj gönderen uranyum238 »

Öncelikle kodu yanlış geçirmişim \\ değil de .\\ olacaktı.
Dosya adında herhangi bir hata yok herşeyi olduğu gibi onuda kontrol ettim, winampla açtım acaba dosyada mı bir sorun var diye gayet normal çalıştı.
Ben veritabanı gibi uygulamalarımda (paradox ile) veri tabanımı alias yerine .\\ işaereti ile tanımlıyordum ve exemin olduğu klasördeki veritabanım çalışıyordu. Kısacası BCBde çoğu yerde .\\ işaretini kullanarak exenin klasörünü tanıtabiliyordum. Yine bir yerlerde okumuştum TMediaPlayer1 için de bu durum olabiliyormuş ama bir türlü beceremedim ve olayı anlayamadım herşey normal ama acaip hatalar almaktayım. Zaten yol ile ilgili hata olsa dosya bulunamıyor diye hata alırım ki ilk başta böyle bir hata almıştım.
Cevapla