选择最后连接的音频源android

时间:2018-01-16 22:07:49

标签: android android-studio audio bluetooth android-audiomanager

如何自动连接到Android中最后连接的音频源?

我们正在构建一个视频门铃应用程序,现在不是让用户选择音频输出,而是我们的UI / UX团队要求我们硬选择选择最后选择的音频源。

例如:如果连接了蓝牙,我必须将其作为音频源,如果耳机已连接,我必须将最后一个源连接到蓝牙和耳机连接我需要找到最后连接的源和使音频输出,如果没有连接的源应该使扬声器默认而不是听筒。

感谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

public int getAudioOutputDevice() {
    AudioManager audiMgr = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
    if (audiMgr.getRouting(AudioManager.MODE_NORMAL) == AudioManager.ROUTE_EARPIECE) {
        //save to preferences
        return 1;
    }
    else if (audiMgr.getRouting(AudioManager.MODE_NORMAL) == AudioManager.ROUTE_SPEAKER) {
        //save to preferences
        return 2;
    }
    else {
        return -1;
    }
}

注意:" getRouting"已在API级别4中弃用。请改用isSpeakerphoneOn(),isBluetoothScoOn(),isBluetoothA2dpOn()和isWiredHeadsetOn()方法。