Trong ứng dụng của tôi, tôi đang cố gắng thực hiện một nút mà khi nhấp vào dừng tất cả các ứng dụng khác đang phát nhạc. Những gì tôi muốn là tương tự như vậy nếu tôi đang chơi nhạc thông qua một máy nghe nhạc và nếu tôi thử chơi một số nhạc khác thông qua một máy nghe nhạc thứ hai, máy nghe nhạc hiện tại dừng lại và sau đó thứ hai bắt đầu. Làm cách nào để chúng tôi dừng các ứng dụng khác phát nhạc từ hoạt động/ứng dụng hiện tại?Cách dừng các ứng dụng khác phát nhạc từ hoạt động hiện tại của tôi?
14
A
Trả lời
33
AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
// Request audio focus for playback
int result = am.requestAudioFocus(focusChangeListener,
// Use the music stream.
AudioManager.STREAM_MUSIC,
// Request permanent focus.
AudioManager.AUDIOFOCUS_GAIN);
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
// other app had stopped playing song now , so u can do u stuff now .
}
âm thanh tập trung được gán lần lượt để từng ứng dụng mà yêu cầu nó. Điều này có nghĩa là nếu khác yêu cầu ứng dụng tập trung âm thanh, ứng dụng của bạn sẽ mất nó. Bạn sẽ có ed notifi của sự mất mát của tập trung âm thanh thông qua việc xử lý onAudioFocusChange của âm thanh Focus Thay đổi Listener bạn đăng ký khi yêu cầu tập trung âm thanh
private OnAudioFocusChangeListener focusChangeListener =
new OnAudioFocusChangeListener() {
public void onAudioFocusChange(int focusChange) {
AudioManager am =(AudioManager)getSystemService(Context.AUDIO_SERVICE);
switch (focusChange) {
case (AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK) :
// Lower the volume while ducking.
mediaPlayer.setVolume(0.2f, 0.2f);
break;
case (AudioManager.AUDIOFOCUS_LOSS_TRANSIENT) :
pause();
break;
case (AudioManager.AUDIOFOCUS_LOSS) :
stop();
ComponentName component =new ComponentName(AudioPlayerActivity.this,MediaControlReceiver.class);
am.unregisterMediaButtonEventReceiver(component);
break;
case (AudioManager.AUDIOFOCUS_GAIN) :
// Return the volume to normal and resume if paused.
mediaPlayer.setVolume(1f, 1f);
mediaPlayer.start();
break;
default: break;
}
}
};
3
Bạn cần phải sử dụng các cầu thủ phương tiện truyền thông triển khai tập trung âm thanh được tìm thấy trong các tài liệu ở đây:
http://developer.android.com/guide/topics/media/mediaplayer.html#audiofocus
Các vấn đề liên quan
- 1. Phát nhạc chuông từ một hoạt động dừng đột ngột
- 2. iOS AVAudioPlayer khiến nhạc nền của ứng dụng khác dừng lại
- 3. Activeadmin dừng hoạt động jQuery của tôi
- 4. Cách phát hiện chuông báo thức hoặc các ứng dụng khác bằng loa?
- 5. Tại sao các ứng dụng tự động chạy của tôi hoạt động lạ trên Vista?
- 6. Làm cách nào để ngăn các ứng dụng Android khác truy cập hoạt động của tôi
- 7. Nhận tên ứng dụng hiện tại đang hoạt động
- 8. Dừng hoạt động hiện tại trong Visual Studio
- 9. Phát hiện xem nhạc có đang phát không?
- 10. Phát hiện android của riêng ứng dụng của tôi: versionCode tại thời gian chạy
- 11. Phát hiện ứng dụng treo
- 12. Tại sao hồ bơi ứng dụng tự động dừng lại?
- 13. Android: Gọi hoạt động của ứng dụng khác
- 14. Dừng một IntentService từ một hoạt động
- 15. Làm cho ứng dụng Cocoa của tôi phản hồi phím phát/tạm dừng bàn phím?
- 16. Phát hiện máy nghe nhạc Kinect SDK
- 17. Ví dụ MediaPlayer: dừng hoạt động như tạm dừng
- 18. android: làm cách nào để mở ứng dụng khác từ ứng dụng của tôi?
- 19. Android - Tôi có thể tắt tiếng hiện đang phát các ứng dụng âm thanh không?
- 20. Tại sao các kiểm tra RSpec của tôi không thành công, nhưng ứng dụng của tôi đang hoạt động?
- 21. PhoneGap - khởi chạy ứng dụng khác từ ứng dụng hiện tại
- 22. Có thể phát hiện nhạc không phải ipod không?
- 23. Cách kết thúc hoạt động từ hoạt động khác
- 24. điều khiển trình phát nhạc trong màn hình khóa như ứng dụng Pandora trong iphone
- 25. Cách LiveReload (và các ứng dụng tương tự khác) hoạt động về mặt kỹ thuật?
- 26. Cách phát hiện HĐH từ ứng dụng Silverlight?
- 27. Cách phát video vimeo trong ứng dụng của tôi?
- 28. Làm cách nào để phát nhạc chuông chỉ dành cho Thông báo Đẩy về ứng dụng của tôi?
- 29. Phát hiện và khởi động lại ứng dụng .NET bị lỗi của tôi
- 30. Cách phát hiện xem có phiên bản mới hơn của ứng dụng iOS của tôi không?
câu trả lời rất đẹp và chi tiết. –
lớp MediaControlReceiver.class ở đây là gì? –