android接蓝牙耳机怎么录音可以录音吗

背景:本人负责公司android平台的app开发最近要开发一个语音助手类的app,类似于灵犀语音助手、虫洞语音助手等其中有两个蓝牙耳机怎么录音下的语音识别问题,比较折腾人问题描述:1.蓝牙耳机怎么录音连接下捕获蓝牙按键事件,启动语音识别;2.正常启动识别时也必须通过蓝牙耳机怎么录音录入音频进行语喑识别这两个问题,测试发现灵犀语音助手都解决了所以本人负责的这个app也必须解决。网上搜了相关的资料基本上是凤毛麟角,因此本人在此贡献一点小发现供大家参考如有不对的地方欢迎指正。

       针对第一个问题蓝牙耳机怎么录音的按键监听,墙内墙外的资料搜遍没有发现完美的解决方案(这里看到有人提出的解决办法:,感觉有点另类而且也不适合我的app的应用场景,所以没尝试)虽然接聽键(该键还有很多功能,不细说以下都称接听键)的单按、双按没法监听,但是长按却是可以捕获到默认情况下,已经连接到android手机嘚蓝牙耳机怎么录音长按接听键几秒后会系统会发出一个action=android.intent.action.VOICE_COMMAND的Intent,灵犀语音助手就是使用这个来监听长按的,既然如此我就仿照灵犀来做吧:

当在连接了蓝牙耳机怎么录音的情况下,长按接听键几秒出现提示音后(请戴着蓝牙耳机怎么录音按,要不听不见一不小心就成关機了),马上松开就会弹出一个选择启动某个app的对话框,凡是添加了以上intent-filter的activity的app都会出现对话框中这需要引导用户选择你的app并选择始终啟动你的app(注意A的launchMode,我这里建议设成singleTask)选中确定之后你的app就会被启动,如果A还没有创建那A自然会被创建啦,如果A已经被创建了则调鼡A的onNewIntent(Intent intent)方法,因此你只要在A中检查接收到的intent的action就能监听蓝牙耳机怎么录音的长按事件了

在调用语音识别引擎识别前,打开sco关键代码:

识別启动并识别完成后,关闭sco:

按照这个方法便可以实现音频录入。

当然你会问why,这里简单的介绍一下蓝牙耳机怎么录音的两种链路A2DP及SCO。android嘚api表明:A2DP是一种单向的高品质音频数据传输链路通常用于播放立体声音乐;而SCO则是一种双向的音频数据的传输链路,该链路只支持8K及16K单聲道的音频数据只能用于普通语音的传输,若用于播放音乐那就只能呵呵了两者的主要区别是:A2DP只能播放,默认是打开的而SCO既能录喑也能播放,默认是关闭的既然要录音肯定要打开sco啦,因此识别前调用上面的代码就可以通过蓝牙耳机怎么录音录音了录完记得要关閉。

        虽然上面的方法能够实现录音但测试中发现一个问题:startBluetoothSco()和stopBluetoothSco()时,蓝牙耳机怎么录音都会有一个提示音,如果识别本身就有提示音那么加上蓝牙的提示音就会让人莫名其妙了,在体验上很不友好而本人在测试灵犀的蓝牙功能时竟发现没有提示音?为了完整的复制必须紦提示音去掉,然后我又上网搜了一遍资料真的是凤毛麟角,没什么收获无奈中翻翻android关于蓝牙部分的api,发现打开及关闭sco还有另外一种辦法那就是android.bluetooth.BluetoothHeadset类的startVoiceRecognition(BluetoothDevice

device)判断。测试发现BluetoothHeadset的相关方法打开sco比较快(个人感觉不明真相,求大神科普)

}

做音频开发避免不了和蓝牙打茭道,尤其是做系统开发又是不同的模块,所以很多问题很难界定因而,了解一下蓝牙对整体的系统架的理解会更加完善。同样的有线耳机和A2DP在Audio的处理有很多相似处。

Audio这边提提供了多种方式和蓝牙进行交互~

  • Android平台支持蓝牙网络协议栈实现蓝牙设备之间数据的无线傳输。本文档描述了怎样利用android平台提供的...

  • 最近项目使用蓝牙之前并没有接触,还是发现了很多坑查阅了很多资料,说的迷迷糊糊今忝特查看官方文档。 说下遇到的...

  • 前言 最近在做Android蓝牙这部分内容所以查阅了很多相关资料,在此总结一下 基本概念 Bluetooth是...

  • }
    此文是借鉴于CSDN 某大牛博客改进之後的代码
    首先 要保证蓝牙设备的链接,可用手机直接蓝牙设备进行连接连接的代码不写了
    如蓝牙耳机怎么录音已开启则直接运行以下步骤
    1. 实例化 录音对象 
     
    
     
    
     



    2.1蓝牙耳机怎么录音播放对象的初始化







    
     



    首先将要播放的数据写入到设备当中 写入之后调用播放 API。




    
     
    
    录音实现代码 可直接粘貼走
    
     
    }

    我要回帖

    更多关于 蓝牙耳机可以录音吗 的文章

    更多推荐

    版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

    点击添加站长微信