我正在开发一个android应用程序。如果我们有应用程序的软件包名称,我们是否可以知道应用程序正在播放音乐还是录制语音?我不知道该怎么做。如果有人已经完成了,你能帮我或给我关于它的信息吗?如何检测应用程序正在播放音频或录音?
感谢您的帮助,
我正在开发一个android应用程序。如果我们有应用程序的软件包名称,我们是否可以知道应用程序正在播放音乐还是录制语音?我不知道该怎么做。如果有人已经完成了,你能帮我或给我关于它的信息吗?如何检测应用程序正在播放音频或录音?
感谢您的帮助,
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
。
谢谢你的帮助,我以前见过这个问题,但这不是我想要的。我无法将它用于我的应用程序。我刚才在我的问题中赞扬了更多解释。我们可以这样做吗? – sophie281988
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);
}
}
事实上,我想要做的是:我有一个应用程序的包名称,手机处于音乐模式或没有。如果它处于音乐模式,我们是否可以知道播放的音频是应用程序,还是另一个应用程序。换句话说,我们可以得到播放音频应用程序的名字吗? – sophie281988