Favorilerine Ekle | Giriş Sayfan Yap | Tavsiye Et

 

Kurs Tanıtım Sayfası | Süper Üye Kimdir? | Menü Tasarımı Konulu Örnek Ders
Kod İndir| Hazır Kodlar | Makaleler| İpuçları | VB .NET Kursu | Dersler | Forum | Alt Bölümler | Servisler
    Merhaba Misafir
    anasayfa » visual basic makaleleri » VİSUAL BASIC İLE SES İŞLEMLERİ
Üye Girişi
Kullanıcı Adı:  
Şifre : 
Kaydet ?
Siteden tam olarak faydalanabilmek için üye olmalısınız.
Unuttuğunuz şifrenizi öğrenebilmek için kayıt sırasında verdiğiniz Hatırlatma Cevabı'nı bilmeniz gereklidir.
Şifre hatırlatma işlevini sadece 3 defa kullanma hakkınız vardır.
Kullanıcı adını ve şifresini unutan üyelere email ile yardım verilmez.

Aktivasyon Gelmedi mi?Aktivasyon mesajınız email adresinize gelmedi mi?
Buraya tıklayarak bir kez daha aktivasyon mesajı gönderilmesini sağlayabilirsiniz.
Lütfen email hesabınızın BULK ve SPAM klasörlerini de kontrol ediniz.
Rastgele Makale

her command1 butonuna tıklama ile text1 farklı yerlerde çıkar

Yazar: ozkan_ka

Webmasterlar
Sitenize Ekleyin!
Sitenizde "Son Eklenen 10 Visual Basic Yazısı"'nı göstermek ve içeriğini zenginleştirmek için buraya tıklayınız.

Vbasicmaster.com'a link verin!
Aşağıdaki minik banneri sitenize eklemek için tıklayın!

Üye Sayısı:
Ziyaretçiler nerede?
Yayın № : 11851
Yayın Tar:02.01.2010
Yazar : ali123456
Hit :1826

Bu Yazarın Yazıları Sadece bu yazarın makale göster
Bu Yazıyı Tavsiye Et


Projemize sağ tıklayıp add reference kısmına basıyoruz.
Ardından;

Microsoft.DirectX.DirectSound , Microsoft.DirectX.AudioVideoPlayBack ve Microsoft.DirectX referanslarını projenize ekleyin.
Not: Burada projenin bütün kodlarını değil de can alıcı noktalarını açıklayacağım. Uygulamanın tam kodlarını örnek kodlar bölümünden indirebilirsiniz.

Imports Microsoft.DirectX.DirectSound
Imports Microsoft.DirectX
ile namespacelerimizi projemize dahil ediyoruz.
İlk başta bize gereken bilgisayarımızdaki herhangi bir yoldan ses dosyamızı çağırmaktır. Bunun için bir textbox ve bir browse butonuna ihtiyacımız var. Textbox bileşenimizde de ses dosyamızın yolunu görebileceğiz bunun için gerekli olan toolbox’ımızdan OpenFileDİalog isimli bileşinimizi projememize eklememizdir.

OpenFileDialog1.ShowDialog()
filename = OpenFileDialog1.FileName
TextBox1.Text = filename

Filename ise bir string olarak tanımlanmıştır.
Temel kodumuz ise aşağıdaki gibidir:


Dim dev As New Device()
dev.SetCooperativeLevel(Me, CooperativeLevel.Normal)
Dim dsc As New BufferDescription()
dsc.ControlVolume = True
dsc.ControlFrequency = True
Dim snd As New SecondaryBuffer(filenamedxsound, dev)
snd.Volume = volume
snd.Frequency = frekans
snd.Play(0, BufferPlayFlags.Default)

Device nesnemizi ses kartınız olarak düşenebilirsiniz sesimizi çalmamız için gereken en temel bileşendir. Yani ilk önce ses aygıtımızı oluşturduk. Ardından aygıtımızın üzerinden setcooperativelevel’i çağırmamız gerekir. Burada Normal’i kullandık çoğunluklada bu seçenek yeterli olacaktır. Ayrıca bir BufferDescription nesnesini canlandırdık bunun sebebi bu nesne üzerinde dahil olan ses yüksekliğini ve ses frekansının değerlerini aktif hale getirmek için kullanılmıştır. Ardından SecondaryBuffer’ımızı oluşturup filenamdxsound adını verdiğimiz dosya ismimizi çağırıyor ve ikinci parametre olarakda aygıtımızız gösteriyoruz. Snd.Volume e ses yüksekliği değerimizi Frequency’e ise bizim seçtiğimiz frekansı aktarıp . snd.Play’e 0 değerini veriyoruz ve varsayılan değer olarak çalmasını yani bir kere çalıp durmasını söylüyoruz.
Örnek uygulamamızda kullandığımız gibi bir trackbar kullanmak isterseniz maximum ve minimum değerlerini doğru seçmeniz gerekecektir. Bunun içinde volume trackbar’ımızın maximumunu 0 ve minimumunu ise -3000 olarak ayarlamalısınız.
Frekans’ımızın minimumumu ise 100 maksimumuda 10000’dir.
Sesi ve frekansı trackbarla ayarlamamıza yarayacak örnek kodumuz:
If TrackBar1.Value = TrackBar1.Minimum Then
volume = -3000
Else
volume = TrackBar1.Value
End If
If TrackBar2.Value = TrackBar2.Minimum Then
frekans = 100
Else
frekans = TrackBar2.Value
End If
Directx sound ile ses çaldırırken daha bir çok özellik yer almaktadır. Bunlardan bazıları,
Sağ ve sol balansı kontrol etmek için gereken özellik:
Yukarıdaki kodumuzda aşağıdaki modifikasyonları yapabilirsiniz.
Dim dev As New Device()
dev.SetCooperativeLevel(Me, CooperativeLevel.Normal)
Dim dsc As New BufferDescription()
dsc.ControlVolume = True
dsc.ControlPan = True
Dim snd As New SecondaryBuffer(filenamedxsound, dev)
snd.Volume = volume
snd.Pan = 3000
snd.Play(0, BufferPlayFlags.Default)

Speaker seçiminide kolay bir şekilde projenize ekelmeniz olası:
‘ Yeni Speaker Nesnesi yarat
Dim spk As New Speakers();

‘ Properties’ler
spk.Mono = false ‘ mono speaker
spk.Headphone = false ‘ headphones
spk.Stereo = false ‘ stereo speakers
spk.Quad = true ‘ quad system (iki ön, iki arka)
spk.FiveDotOne = false ‘ 5.1 surround system
spk.SevenDotOne = false ‘ 7.1 surround system
spk.Surround = false ‘ surround system
dev.SpeakerConfig = spk;

Directx.AudioVideoPlayback ile ses çaldırmak ise Directxsound’dan daha kolay ve birkaç kod satırı ile sesi çaldırabiliyoruz.
Bunun içinde
Imports Microsoft.DirectX.AudioVideoPlayback
Namespace’imizi import etmemiz gerekecek.
Kodumuz ise:
Dim audio As New Audio(filenameaudiopb)
audio.Volume = volume
audio.Play()

Burada filenameaudiopb ses dosyamızın ismi ve Audio nesnemizde ses dosyasını çalmamızı yarayan nesnemiz. audio.Volume ve audio.Play() ile default olarak sesimizi çaldırabiliriz.
Ses dosyalarını çaldırmak için diğer bir yöntemimiz ise DLL import ile API’ler kullanılarak eskiden kalma yöntemlerle oluşturacağımız bir sistemdir.
Imports System.Runtime.InteropServices
Projemize yukarıdaki namespace’i ekleyelim.
Ardından;
Declare Auto Function PlaySound Lib "winmm.dll" (ByVal name _
As String, ByVal hmod As Integer, ByVal flags As Integer) As Integer
Public Const SND_SYNC = &H0 ' Senkron
Public Const SND_ASYNC = &H1 ' Asenkron
Public Const SND_FILENAME = &H20000

ile DLL dosyamızı import edelim ve sabitlerimizi belirleyelim SND_SYNC müzik dosyamızı Senkron bir şekilde çalmamızı SND_ASYNC ise asenkron şekilde çalmamızı gerçekleyecektir. SND_FILENAME ise adından anlayacağınız gibi dosyamızın ismi.
Tanımlamalarımız biraz karmaşık olmasına rağmen çalma işlemimiz çok daha basittir. Bunun için yapacağınız tek şey PlaySound metodunu kullanmanız olacaktır.
PlaySound(filename,0,SND_FILENAME)
Senkron veya asenkron çaldırmak için ise
PlaySound(filename,0,SND_FILENAME or SND_SYNC)
Veya
PlaySound(filename,0,SND_FILENAME or SND_ASYNC)
Şeklinde kodumuza ekleme yapabiliriz.
Diğer sabitlerimiz ise aşağıdaki gibidir:
Public Const SND_SYNC = &H0
Public Const SND_ASYNC = &H1
Public Const SND_MEMORY = &H4
Public Const SND_ALIAS = &H10000
Public Const SND_NODEFAULT = &H2
Public Const SND_FILENAME = &H20000
Public Const SND_RESOURCE = &H40004
Not: Directx Sound ve API’lerle wav dosyalarını çalıp üstünde işlem yapabilirken Directx audio playback ile mp3 dosyalarını da çaldırabilirsiniz.




Yorumlar, eklemeler ve düşünceler
        güzel bilgi sağol


   ahmet0001, 17.01.2010 17:24
   saolasan

   bidance, 19.01.2010 19:47
   Saol güzel pylaşım

   TOBAZ, 01.03.2010 19:29
   iyide biz bütün bu kodları neyin içine yazıcaz ilk başta import demişsin onları nereye yazıcaz onu söylememişsin :/

   16furkan16, 16.01.2012 21:34
© Hakan Ersöz 2000-2013| Üyelik Sözleşmesi | | Ödeme Bildirimi
Sitemizden yenilikleri hemen öğrenin, pop upları engelleyin, chat yapın... ToolBarımızı indirin:
Vasicmaster Toolbar'ı indirin