如何检测应用程序是播放音频还是录音?

时间:2015-09-07 15:17:22

标签: android audio-recording

我正在开发一个Android应用程序。如果我们有应用程序的包名称,我们是否可以知道应用程序是在播放音乐还是录制语音?我不知道该怎么做。如果有人这样做了,你能帮助我或者告诉我有关它的信息吗?

感谢您的帮助,

2 个答案:

答案 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);
    }
}