Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android: Detect another application has started playing audio

My music application constantly plays music in the background, however I'd like to be able to detect when another application starts playing audio (such as the YouTube app) so I can pause/mute/stop the audio in my application.

This will allow a user to continue browsing the web whilst listening to music, but then if they wish to watch a video at any point, they can do so without audio conflict.

One solution might be to listen for a broadcast which states when an application begins using the AudioManager. Does such an Intent Action exist?


Edit: As in the answer provided below, there appears to be a method of detecting the loss of audio focus in 2.2 with AudioManager.OnAudioFocusChangeListener.

Great, but is there a solution for the more common versions of Android? Ideally 1.5+.

like image 610
bdls Avatar asked Aug 26 '10 14:08

bdls


1 Answers

http://developer.android.com/reference/android/media/AudioManager.OnAudioFocusChangeListener.html

this thread also has additional information that might get you heading in the right direction.

http://groups.google.com/group/android-developers/browse_thread/thread/db6822d84feaac6/219d8cba07795c61?hl=en&lnk=gst&q=OnAudioFocusChangeListener#219d8cba07795c61

like image 130
Aaron Saunders Avatar answered Nov 13 '22 00:11

Aaron Saunders