Başlık, bu sesin çok daha basit olmasını sağlıyor .. Çoğu müzik çaları duraklatacak bir niyet yayınlamaya çalışıyorum.Bilgisayarda Medya Oynatma Sisteminde Güvenilir Duraklatma Sistem Genişliğinde
long eventTime = SystemClock.uptimeMillis();
Intent downIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null);
KeyEvent downEvent = new KeyEvent(eventTime, eventTime, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE, 0);
downIntent.putExtra(Intent.EXTRA_KEY_EVENT, downEvent);
ctx.sendOrderedBroadcast(downIntent, null);
Ve bu işleri:
O bununla KEYCODE_MEDIA_PLAY_PAUSE yayınlayacak için bir KeyEvent oluşturmak kullanabilirsiniz biliyorum. Stok medya oynatıcısını, kulaklık oynatma/duraklatma düğmelerini destekleyen diğer müzik çalarlarla birlikte, onu nasıl istediğimi duraklatacaktır. Ama bir sebepten dolayı, sadece bir kez stok müzik çalar ile çalışır. Bunu aramak için düğmeye basabilirim ve müziği duraklatır. Tekrar oynatmaya başlarsam ve tekrar duraklatma düğmesine basarsam işe yaramıyor. Cihazı yeniden başlattığımda tekrar çalışır. Ama sonra Pandora ile, gerektiği gibi tutarlı bir şekilde çalışır.
Bu konuda çalışabileceğimi ve sadece bir KeyEvent kullanmadan durabileceğimi düşündüm. Ben AudioManager ve başka niyetiyle bu çalıştı:
AudioManager mAudioManager = (AudioManager) ctx.getSystemService(Context.AUDIO_SERVICE);
if (mAudioManager.isMusicActive()) {
Intent mediaIntent = new Intent("com.android.music.musicservicecommand");
mediaIntent.putExtra("command", "pause");
ctx.sendBroadcast(mediaIntent);
}
Ve bu da çalışır ve sürekli çalışır. Ama doğal olarak kırılgan, çünkü doğrudan Android müzik çalara göndererek, onunla çalışacağı tek oyuncudur. Pandora, Last.FM vb. Kontrolü yok ve çoğu müzik çaları ile çalışmam gerekiyor.
Sadece nereye gideceğime emin değilim. Çalıştığı sürece ne tür bir çözümün verildiği konusunda seçici değilim. KeyEvent'in çalışmasına yardımcı olabilirseniz, fantastik, tamamen farklı bir çözümünüz varsa, fantastik. Sadece çalışmasını istiyorum! Teşekkürler!
Burada yaptığınız her şey "doğal olarak hassas" olur. Üstelik, bu etkinliği tamamen göz ardı edecek pek çok medya oyuncusu da olacak. Ve bir gün OS'nin, "ACTION_MEDIA_BUTTON" olaylarını sahte diğer benzer olayları engellemelerini engellemeye başlaması tamamen olasıdır. Kendi medya oynatıcınızı yazıyorsanız, ses odağını elde etmek için 'AudioManager' içindeki ses netleme özelliklerini kullanın. – CommonsWare
Aslında kendi medya oynatıcımı yazılamıyorum. Play Store'da belirli bir süre sonra müziği durduracak pek çok tam işlevli uygulama olduğunu biliyorum, ancak bunlardan hiçbiriyle özellikle memnun değilim. Sadece kendi başıma bir şeyler yazmayı deniyorum ve çoğu müzik uygulamasını duraklatabilmem gerekiyor. – Geniusdog254