2011-08-20 24 views
13

Bir Android servisi ile ses değişimlerini dinlemenin ve buna tepki vermenin bir yolu var mı?Ses seviyesi değiştirici?

BTW: Google müzik uygulaması, kullanıcının arka planda müzik çalarken bile medya sesini nasıl kontrol etmesine izin veriyor?

cevap

12

Kontrol dışarı registerMediaButtonEventReceiver(ComponentName broadcastReceiver);

ACTION_MEDIA_BUTTON işleyen bir BroadcastReceiver tanımlayın. Alınan intent, yayına neden olan anahtar olayını içeren tek bir ekstra alan, EXTRA_KEY_EVENT içerir. Hangi tuşa basıldığını öğrenmek için bu önemli etkinliği kullanabilirsiniz.


DÜZENLEME:
Bu sadece bir örnek kod verilmiştir. sözdizimi hataları olabilir. onPause() veya onStop()

+0

yılında alıcıya kaydını iptal

// in onCreate of activity registerMediaButtonEventReceiver(mediaReceiver); // later somewhere in activity. MediaButton_Receiver mediaReceiver = new MediaButton_Receiver(); class MediaButton_Receiver implements BroadcastReceiver { void onReceive(Intent intent) { KeyEvent ke = (KeyEvent)intent.getExtra(Intent.EXTRA_KEY_EVENT); if (ke .getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) { } // Similarly other key codes ....... } } 

siz lütfen bu bir örnek verebilir misiniz? – kevdliu

+0

Örnek kodu ekledim. Ama içinde sözdizimi hataları var. Ayrıca işlem tuşunu kontrol etmeli veya tuşa basmalı. Başlamak için bu iyidir, daha sonra ekleyin. – Ronnie

+0

Ayrıca, alıcının kaydını almayı da unutmayın, aksi takdirde medya düğmesi olayını kullanan diğer uygulamalar etkilenebilir. – Ronnie

İlgili konular