Coding4Fun Toolkit Kullanarak Ses Kaydı Yapma

Merhabalar, bu yazımda sizlere coding4fun toolkit kullanarak ses kaydı yapan bir uygulama nasıl yapılır adım adım anlatmaya çalışacağım. Yazının sonunda bir ses kaydı uygulamamız olacak 🙂

File- New- Project’ten yeni bir Windows Phone projesi açarak başlayalım. Codng4Fun toolkit kullanacağımız için projemize ekleyelim;

12

Toolkitimizi yükledikten sonra References aşağıdaki gibi olmalı;

3

Şimdi arayüze bir resim, kayıt için bir toggle buton ve oynat için bir buton ekleyeceğim. Toggle Buton; checked ve unchecked olmak üzere 2 tane event handler’a sahip. Kayıt için en mantıklı tercih toggle buton olacaktır. İlk tıkladığımızda checked handler’ı ikinci tıklamamızda ise unchecked handler’ı çalışacak.

4

5Benim kullanacağım arayüz aşağıdaki gibi;

6

ToggleButton’ın Checked ve Unchecked’lerine isim verelim ve kodlamaya geçelim;

7MainPage.xaml.cs içinde MicrophoneRecorder’ın private instance’ını oluşturuyoruz. MicrophoneRecorder kullanabilmemiz için üstüne gelip şekildeki gibi using Coding4Fun.Toolkit.Audio eklememiz gerekiyor;

8

Bunu yaptıktan sonra Toggle Butonun Checked event handler’ında _recorder.Start(), Unchecked event handler’ında ise _recorder.Stop() metodlarını kullanabiliriz;

9

Biz kayıt işlemi yaparken MicrophoneRecorder nesnesi ses bilgilerini buffer’da toplar. Stop() metodunu çağırdığımız anda MicrophoneRecorder, toplama işlemini sonlandırır. Bizim yapmamız gereken şey ise bufferda duran o ses bilgilerini .wav formatına çevirip saklamak. .wav olarak sakladıktan sonra, MediaElement kullanarak o kaydettiğimiz .wav dosyasını rahatlıkla oynatabiliriz.

MicrophoneRecorder, MemoryStream nesnesinde bufferda ses bilgilerimizi tutuyor, IsolatedStorage kullanarak MemoryStreamdeki bilgileri kaydedeceğim. Bunun için SaveTempAudio isminde bir metod oluşturup parametre olarak MemoryStream türünden bir nesne alıyorum ve kayıt işlemine başlıyorum;

10

11

13Evet, coding4fun toolkitinin bize sunduğu kolaylıklardan biri de yukarıdaki GetWavAsByteArray metodu 🙂 Bu metod sayesinde rate bilgisini wav dosyasına tek satırlık kodla çevirebiliyoruz.. Bunun çalışabilmesi için aşağıdaki gibi using Coding4Fun.Toolkit.Audio.Helpers; eklemeniz gerekiyor. Kayıt işlemi için hazırladığımız metodu, _recorder.Stop() ‘ın hemen altına ekliyoruz. Böylece ses kayıt işlemi biter bitmez, ses dosyamızı, oluşturduğumuz SaveTempAudio metodu sayesinde bufferdan alıp wav dosyası şeklinde kaydediyoruz.
12

Ses kaydı işlemimiz bitti, şimdi bunu oynatmak için oynat butonumuzu kodlayacağız ama bunun öncesinde MainPage.xaml ‘de ContentPanel içine bir MediaElement ekliyoruz sonrasında SaveTempAudio metodunun içinde setsource yaparak hangi dosyayı çalacağını set ediyoruz;

14

15

Şimdi oynat butonumuza Click event handler verelim ve AudioPlayer’ımızı oynatalım.

16

17

İşlemimiz bu kadar. Fakat bu halde debug etmeye çalışırsanız hata yiyeceksiniz. Sebebi capabilities’ten microphone’nun seçilmemiş olması. WMAppManifest.xml – Capabilities ‘ten ID_CAP_MICROPHONE seçili duruma getirdiğiniz takdirde hatadan kurtulacaksınız;

18

19

Uygulamayı çalıştırdığınızda ses kaydını sorunsuz yaptığını göreceksiniz. Fakat ses kaydı yapmadan önce bir mikrofonunuz olduğunundan emin olun 🙂

20

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s