elektrik port üyelik servisleri elektrik port üyelik servisleri

SeekBar ile Ses Ayarı |
Android Programlama - 1

Günümüzde hemen hemen herkes akıllı telefona sahiptir. Peki sahip olduğumuz bu akıllı telefonların özelliklerinden kaç tanesini biliyoruz? Aslında bu sorunun cevabını çoğu akıllı telefon kullanıcısı biliyor. Fakat programcılar bu özellikleri nasıl uyguluyorlar ve akıllı telefonlar bu özelliğinin kullanıldığını nasıl anlıyor gibi soruların cevabını çok az kişi biliyor. Bu yazımızda akıllı telefonların özelliği olan bir bileşeni kullanacağız. "Telefonların ses ayarlama tuşuna basıldığında telefon bunu nasıl anlar?" , "Hangi komutlar devreye girer?" gibi soruların cevabını irdeleyeceğiz.



A- A+
08.12.2014 tarihli yazı 3582 kez okunmuştur.
Artık günlük hayatta akıllı telefonlar her yerde görülmektedir ve bu telefonların media özelliği kullanılmaktadır. Bu yazımızda android telefonların bir özelliği olan SeekBar bileşenini kullanacağız. Herkes, akıllı telefonların müzik dinleme özelliğini kullanmaktadır. Müzik dinlerken sesin nasıl ayarlanacağı merak konusu olmuştur. Uyguladığımız projede bir tane "Button" ve bir tane "SeekBar" nesnesi olacaktır. Butona basıldığında müzik başlayacak ve SeekBar ile sesin nasıl ayarlanacağını göreceğiz.

Button ve SeekBar bileşenlerini attıktan sonra activity_main.xml içindeki görüntümüz Görsel 1' deki gibi şekil alacaktır.
 



Görsel 1: activity_main.xml 
 

 
 İlginizi Çekebilir : Akıllı Telefonlarınızı Çalınmaya Karşı Koruyun 

 
Öncelikle "activity_main.xml" dosyasını açıklayalım. Sol taraftan bileşenlerin bulunduğu kısımdan Form Widgets içeriğini açıyoruz. Bu dosyanın içinden bir adet "Button" bir adet de "SeekBar" sürükleyip atıyoruz. Kırmızı daire içiresinden de anlaşılacığı gibi SeekBar nesnesinin görünümü,  yatay ince bir çubuk üzerinde bir nokta şeklindedir. Bu işlemlerden sonra artık activity_main.xml içerisindeki yapacaklarımız bitmiş oluyor.

İkinci adım olarak yapacağımız işlem MainActivity.java sınıfının içerisine gerekli olan kodları yazmaktır.

 


Görsel 2: MainActivity.java  

 

 İlginizi Çekebilir : Yıldırım Düşmeden Önce Tahmin Eden Sistem 
 

  
MainActivity.java sınıfının içeriğini inceleyecek olursak eğer, öncelikle eklediğimiz ve kullanacağımız aygıtların değişken isimlerinin yazıldığını görmüş oluruz. "activity_main.xml" içine yüklemiş olduğumuz SeekBar ve Button bileşenlerini sırasıyla "change" ve "play" olarak tanımladıktan sonra, media dosyaları için kullanacağımız aygıtların değişkenlerini tanıtırız. Bu projede müzik dosyasını oynatmat için MediaPlayer aygıtını , telefonun maximum ses seviyesine ya da o anda herhangi bir ses seviyesine ulaşmak için ise AudioManager aygıtını tanımlarız. Bu değişkenin isimleri sırasıyla "mediaPlayer" ve "manager" olarak tanımlarız. Adım adım bu değişkenleri nasıl kullanacağımıza ve nerede işimize yarayacağımızı incelersek;

Butona tıkladığımızda media dosyamızın çalışmasını sağlayacağız.

MediaPlayer ile ekleyeceğimiz media dosyasının tanımlanmasını ve oynatılmasını sağlayacağız.

SeekBar ile müzik sesinin ayarlanmasını sağlayacağız.

AudioManager uygulamamızın en önemli etmenidir. AudioManager ile oluşturduğumuz değişkenimize, telefonumuzda ki maximum ses seviyesini belirleyip bu seviyeyi SeekBar nesnesine atmayı sağlayacağız.

 



Görsel 3: Değişken Tanımlamaları ve Butona Tıklama Özelliği  
  
 
►İlginizi Çekebilir : İzolasyonlu Yıldırım İniş Teknikleri 
 
 
Görsel 3'te görüldüğü gibi tanımları yaptıktan sonra bu değişkenleri kullanmaya artık hazır hale gelmiş olduk. İlk olarak eklediğimiz buton değişkenimize tıklama olayını ekledik. Projeye göre butona tıklandığında müziğin çalması gerektiğini belirtmiştik. Bu sebepten dolayı buton tıklama fonksiyonu olan "onClick()" fonksiyonun içine MediaPlayer'ı başlatma komutunu veriyoruz. Daha öncesinde yazdığımız "mediaPlayer=MediaPlayer.create(getApplicationContext(),R.raw.song)" kod satırında ise mediaPlayer nesnemize "song" isimli müziğimizi ekliyoruz. Müzik dosyalarını, projemizin bulunduğu yere gidip res dosyası içerisene bir "raw" isimli dosya oluşturup bu dosyanın içerisine atıyoruz. Bu satırları yazdıktan sonra artık butonumuza bastığımızda müziğimiz oynatılmaya başlanacaktır. Resimde görüldüğü gibi bir fonksiyon yazalım. Bu fonksiyonun ismini "setSeekBar" olarak ayarlayalım. Sonraki adım olarak "setSeekBar" fonksiyonunu inceleyelim.
 



Görsel 4: setSeekBar Fonksiyonu 

  
 
►İlginizi Çekebilir : Altimetre Çalışma Sistemi 
 
  
Bu fonksiyonun amacı SeekBar olayını tanımlamak ve yapılan ses seviyesi değişikliğini ayarlamaktır. Görsel 4'teki kodları satır satır inceleyelim. İlk adımda "bar.setMax(manager.getStreamMaxVolume(stream))" kodu karşımıza çıkmaktadır. Bu kod satırı SeekBar nesnesinin alabileceği maximum seviyeyi belirlemektedir. Parametre olarak AudioManager'ın değişkenini kullanırız. AudioManager'ı kullanmamızdaki amacımız telefonumuzun alabileceği maximum ses seviyesine ulaşmaktır. Diğer bir kod satırını açıklayacak olursak "bar.setProgress(manager.getStreamVolume(stream))" kodu ile uygulama çalıştığında SeekBar'ın hangi değerle başlayacağını belirliyoruz. Yani "bar.setProgress(45)" şeklinde yazmış olsaydık uygulama, ilk çalıştığında %45'lik bir ses ile müziğimizi oynatmaya başlayacaktı. Bu iki satır ile SeekBar'ın özelliklerini belirledik. Sırada projemizde önemli bir nokta olan, ses ayarlama olayını tanımlamaya geldi. Bir sonraki satıra "bar.setOnSeekBarChangeListener()" ile butonumuzun tıklama olayına benzer bir şekilde başka bir olay tanımlıyoruz. Bu olayı yazmakla birlikte karşımıza 3 adet fonksiyon geliyor. Uygulamamızda, bu fonksiyonlardan SeekBar'ın durumunu değiştirmesi ile ilgili olan "onProgressChanged()" fonksiyonunu inceleyeceğiz.

"onProgressChanged()" metodu, SeekBar değeri değiştiğinde SeekBar'ın ne yapacağına karar veriyor. Bu metodun içerisindeki kodu anlatacak olursak, içerisine yazılan kod ile media dosyamıza ne olacağını yazıyoruz. Kısacası song isimli müziğimize sesinin ayarlanması için gerekli olan komutu yazıyoruz. Bu kod satırlarını yazdıktan sonra "onCreate()" metodunun içerisine gidiyoruz ve setSeekBar metodumuzu yazıp uygulamamızı çalıştırıyoruz. 
 
 


ANKET
Endüstri 4.0 için En Hazır Sektör Hangisidir

Sonuçlar