Kolay gelsin arkadaşlar,
Ses dosyası çalmak istiyorum, yapamadım, kodu ve hataları ve de sorunları yazıyorum:
private void btn_sesdosyasi_Click(object sender, EventArgs e)
{
IntPtr Ptr;
Ptr = IntPtr.Zero;
long Sonuc;
Sonuc = waveOutGetNumDevs();
MessageBox.Show(Sonuc.ToString());
if (Sonuc == 0)
MessageBox.Show("Gerekli donanım yok");
else
openFileDialog1.ShowDialog();
Sonuc = sndPlaySound(openFileDialog1.FileName, 1);
}
Sonuc = sndPlaySound(openFileDialog1.FileName, 1);
çalıştırılınca mesaj kutusunda 8553744991405473793 sayısı çıkıyor. Yani gerekli donanım var. Open file dialog penceresi ekrana geliyor, ses dosyasını seçince “dın” diye ses geliyor ama parça çalmıyor. Video oynatmada da aynı sorun var.
Kitabın yazarı 1’in yerine IntPtr’nin Sonuçta 2. parametre olması gerektiğini söylüyor. Böyle olunca da program hata veriyor. (API fonksiyonlarının windows 95 varken yazıldığını ve bazen sorunlar yaşandığını söylüyor ayrıca, sorunun çözümünde faydası olur bize diye yazıyorum.)
1. The best overloaded method match for 'SesDosyasiCalma.Form1.sndPlaySound(string, long)' has some invalid arguments
2. Argument '2': cannot convert from 'System.IntPtr' to 'long'
İlginize şimdiden teşekkürler.
bize ruyalarimizin degil uyanikligimizin tabiri gerek (Alinti)
|