Merhaba Arkadaşlar.Bu yazımızda SeekBar componentini kullanarak uygulamaya eklediğimiz media dosyasının sesinin nasıl kısılıp açılacağını elimden geldiğince sizlere aktarmaya çalışacağız.
İlk olarak bir proje oluşturup activity_main.xml içini düzenleyelim.Proje oluşturduysak eğer xml file içine bir tane Button bir tane de SeekBar nesnesini sürükleyip bırakalım ve bu işlemden sonra görüntümüz bu şekilde oluşcaktır.2.Yazı 1.resim
Şimdi Bu adımdan sonra ufak bir bilgi olacak şekilde SeekBardan bahsetmek istiyorum.Şeklindende anlaşılacağı gibi SeekBar aslında bir çubuk şeklinde olan ve çeşitli media olaylarını yönetmemize yarayan bir component’tir.SeekBar yardımıyla biz uygulamamıza eklediğimiz media dosyasının sesini kısıp açabileceğimiz gibi farklı amaçlarda da kullanabiliriz.SeekBar denildiğinde akla gelen ilk örnek RGB ile oynamak olacaktır.Fakat ben farklılık olsun diye bir media dosyasının sesini kısıp açmayı anlatacağım.Şimdi MainActivity içine yazılmış olan kodlarımıza bakalım.2.yazı 2.Resim
Burada gördüğünüz gibi 4 Adet tanımlamalar yapmışız.Bunlarda cal değişkeni butonumuza bağlı.
Butona tıkladığımızda media dosyamızın çalmasını sağlayacağız
MediaPlayer tanımlamamızla uygulamaya eklediğimiz ses dosyasının tanımlamasını ve bu ses dosyasının oynatılmasını ayarlayacağız.
SeekBar ile uygulamamıza eklediğimiz seekBar’ın durdurma,başlatma ve durumu değiştiğinde ne olacağı ile ilgili ayarlamaları yapacağız.
AudioManagerUygulamamızın en önemli olayı bu değişkenimizde.AudioManager ile oluşturduğumuz değişkenimiz ile telefonumuzdaki maximum ses seviseyesini belirleyip bu ses seviyesini seekBar nesnesine atacağız.
2.Yazı 3.Resim

Üstteki resimde gördüğünüz gibi oluşturduğumuz değişkenlerimizi tanımladıktan sonra butona tıklama olayını ekledik.Burada mediaPlayer.start() satırından sonra butona tıkladığımızda eklediğimiz müziği çalmaya başlıyoruz.Şimdi seekBar nesnesini kullanacağımız bir fonksiyon yazalım ve bu fonksiyonun amacı seekbar olayını tanımlamak ve yapılan ses seviyesi değişikliğini ayarlamak olsun
2.Yazı 4.Resim

Bu resimde görmüş olduğunuz ilk iki satırı açıklayalım.
bar.setMax(manager.getStreamMaxVolume(stream)) satırıyla seekBar’ın alabileceği en fazla değeri ayarlıyoruz.Yani bu satırla biz telefonumuzdaki max seviyesini seekBar içine atıyoruz
bar.setProgress(manager.getStreamVolume(stream)) metoduyla uygulama çalıştığı an seekBar’ın hangi değerle başlayacağını belirliyoruz.Yani bar.setProgress(65) olarak yazsaydık %65’lik bir ses ile çalışacaktı ilk başta fakat daha sonra değiştirebilecektik.
Bu ili satırı yazdıktan sonra yani seekBar’ın ayarlarını yaptıktan sonra şimdi seekBar’da ki olayı tanımlamaya geldi.Yani ben ses kısıp açmayı nasıl ayarlayabilirim sorusunun cevabını bulmaya geldi.Bunun için bar.setOnSeekBarChangedListener() ile butonun tıklama olayına benzer bir olay yazıyoruz.Bu olayı yazdıktan sonra otomatik olarak oluşturulan 3 fonksiyon karşımıza geliyor.Biz burada onProgressChanged() metoduyla ilgileniyoruz.Bu method seekbarın değiştirildiğinde ne yapacağına karar veriyor.Bu metodun içindeki kod satırını anlatacak olursak, Bu satırla beraber biz seekbar ile hangi media dosyasına ne yapacağımızı yazıyoruz.Yani R.raw.song ile uygulamaya yüklediğimiz ses dosyasının sesini açıp kapama ile ilgili olan kısmı ekliyoruz.Ve initBar() metodunu onCreate() metodu altına yazıp uygulamamızı çalıştırıyoruz.
Uygulamamız bugünlük bu kadar.Elimden geldiğince kısaca seekBar kullanımı hakkında bilgi vermeye çalıştık.Biz burada 1 tane media dosyasıyla uygulama yaptık.Fakat bu kısım geliştirilebilir.Yani bir Custom ListView içine attığımız media dosyalarını ses açıp kısma yaparak basit anlamda uygulama yapabilirsiniz.

Daha sonraki yazılarımızda görüşmek üzere iyi günler dilerim.

Facebook'dan yorumla