首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从头戴式耳机中选择麦克风源,而不是从手持麦克风中选择

从头戴式耳机中选择麦克风源,而不是从手持麦克风中选择
EN

Stack Overflow用户
提问于 2017-03-31 22:18:47
回答 1查看 2K关注 0票数 0

是否可以使用蓝牙耳机录制音频,而不使用集成的android智能手机麦克风?当我将耳机连接到手机时,我可以在打电话时使用麦克风,但在任何其他情况下,它都不会录制任何东西,例如,当我试图使用录制应用程序录制音频时,它会使用手机上的麦克风。那么,有没有什么解决方案可以选择耳机麦克风,或者我可以为它写一个应用程序呢?

EN

回答 1

Stack Overflow用户

发布于 2017-04-03 18:23:31

您必须处理以下意图。https://developer.android.com/reference/android/speech/RecognizerIntent.html#ACTION_VOICE_SEARCH_HANDS_FREE

您可以使用以下代码来使用蓝牙耳机麦克风。

代码语言:javascript
复制
AudioManager audiomanager= (AudioManager)mContext.getSystemService(Context
            .AUDIO_SERVICE);
IntentFilter intentFilter = new IntentFilter(AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED);
    mContext.registerReceiver(mBluetoothScoReceiver, intentFilter);
audiomanager.startBluetoothSco();

并收听广播接收器。

代码语言:javascript
复制
private BroadcastReceiver mBluetoothScoReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        int state = intent.getIntExtra(AudioManager.EXTRA_SCO_AUDIO_STATE, -1);

        if (state == AudioManager.SCO_AUDIO_STATE_CONNECTED) {
            // Start recording audio
            log("audio connected");
            startRecording();
        } else if(state == AudioManager.SCO_AUDIO_STATE_DISCONNECTED){
            log("audio disconnected");
        }
    }
};

对于切换(断开蓝牙耳机麦克风),您可以使用此代码。

代码语言:javascript
复制
mAudioManager.stopBluetoothSco();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43142973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档