android - 如何切换电话、电话扬声器、耳机或蓝牙设备的音频输出

标签 android audio bluetooth android-audiomanager

我试图在我的应用程序中的不同来源之间切换音频源。我们使用第 3 方视频库并使用 AudioManager 来播放声音。现在我们正在尝试使用 UI 选项在电话听筒、电话扬声器、耳机/蓝牙(是否已连接)之间的音频输出之间进行选择。 就像我们在电话应用程序中看到的那样(当多个音频输出源可用时,电话、扬声器、蓝牙)。

最佳答案

Got it working:                                                                                                      'if(false) {
            //For BT
            mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
            mAudioManager.startBluetoothSco();
            mAudioManager.setBluetoothScoOn(true);
        } else if(true) {
            //For phone ear piece
            mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
            mAudioManager.stopBluetoothSco();
            mAudioManager.setBluetoothScoOn(false);
            mAudioManager.setSpeakerphoneOn(false);
        } else {
            //For phone speaker(loudspeaker)
            mAudioManager.setMode(AudioManager.MODE_NORMAL);
            mAudioManager.stopBluetoothSco();
            mAudioManager.setBluetoothScoOn(false);
            mAudioManager.setSpeakerphoneOn(true);
        }

关于android - 如何切换电话、电话扬声器、耳机或蓝牙设备的音频输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47057889/

相关文章:

iphone - 我应该使用哪个 iPhone API 来传输音频?

iOS- BLE <CBCharacteristic : does not specify the "Write Without Response" property - ignoring response-less write

java - Android - 如何监听蓝牙输出流被清空

android - 使用 appcompat v7 自定义 EditText 样式

android - Android 中的通知取消按钮

android - 如何在 android studio 中启用版本控制窗口

linux - 在套接字代码中选择蓝牙设备/加密狗 - Bluez Stack

android - 不兼容的 gradle 依赖项

flash - YouTube api音频不会停止播放

android - 在播放之前如何在Android中获取音频文件的幅度?