我正在开发一个旨在使用蓝牙耳机麦克风录制语音的应用程序。我在这个环境中使用Ionic 2:
@ionic/cli-utils : 1.4.0
Cordova CLI : 7.0.1
Ionic CLI : 3.4.0
local packages:
@ionic/app-scripts : 1.1.4
@ionic/cli-plugin-cordova : 1.4.0
@ionic/cli-plugin-ionic-angular : 1.3.1
Cordova Platforms : android 6.1.2
Ionic Framework : ionic-angular 2.2.0
System:
Node : v6.10.0
OS : Windows 10
npm : 3.10.10
我正在使用cordova-plugin-audioinput来录制音频。我试图将配置的音频输入源类型更改为VOICE_COMMUNICATION,MIC和DEFAULT。但是,它仍然使用设备的麦克风录制。
在Android上,我看到使用了MediaRecorder。我在尝试读取it后尝试将audioinput源设置为VOICE_CALL,但应用程序崩溃了。
最后,我发现了这个link。我想知道是否有任何cordova插件可以做到这一点?有没有办法使用Ionic 2录制蓝牙耳机麦克风的音频?
提前致谢
没有为此目的而知道的cordova包装纸。您可以做的是直接通过AT命令控制设备。基本上,如果你遵循这个文档,Android会做什么:
https://developer.android.com/reference/android/bluetooth/BluetoothHeadset.html
通过串行通信向耳机发送AT命令。您可以使用https://github.com/don/BluetoothSerial从蓝牙耳机发送和读取RAW缓冲区。例如,你可以发送一个AT命令,它将启动耳机上的麦克风录音,然后从收到的缓冲区中获取RAW音频,然后在其他库的帮助下将RAW数据转换为mp3。
如果您想了解更多关于蓝牙串行通信的信息,特别是AT命令:http://www.spezial.cz/pdf/Serial_Port_Adapter_AT_Commands.pdf