2015-09-07 45 views
0

我正在开发一个android应用程序。如果我们有应用程序的软件包名称,我们是否可以知道应用程序正在播放音乐还是录制语音?我不知道该怎么做。如果有人已经完成了,你能帮我或给我关于它的信息吗?如何检测应用程序正在播放音频或录音?

感谢您的帮助,

+0

事实上,我想要做的是:我有一个应用程序的包名称,手机处于音乐模式或没有。如果它处于音乐模式,我们是否可以知道播放的音频是应用程序,还是另一个应用程序。换句话说,我们可以得到播放音频应用程序的名字吗? – sophie281988

回答

1

AudioManager是你在找什么。您可以检查此回应:https://stackoverflow.com/a/16252044/3743245另外官方文档:AudioManager

以及如何使用它的一个小例子:

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 you can do your stuffs now . 
} 

他们你加入我已经离开你的链接中列出的focusChangeListener

+0

谢谢你的帮助,我以前见过这个问题,但这不是我想要的。我无法将它用于我的应用程序。我刚才在我的问题中赞扬了更多解释。我们可以这样做吗? – sophie281988

0
public class AudioManager { 
    /** 
    * Checks whether any music is active. 
    * 
    * @return true if any music tracks are active. 
    */ 
    public boolean isMusicActive() { 
     return AudioSystem.isStreamActive(STREAM_MUSIC, 0); 
    } 
} 
相关问题