我正在开发一个Android应用程序。如果我们有应用程序的包名称,我们是否可以知道应用程序是在播放音乐还是录制语音?我不知道该怎么做。如果有人这样做了,你能帮助我或者告诉我有关它的信息吗?
感谢您的帮助,
答案 0 :(得分: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
。
答案 1 :(得分: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);
}
}