Ionic 2 - 用蓝牙耳机录音

时间:2017-06-22 15:01:45

标签: cordova bluetooth ionic2 cordova-plugins microphone

我正在开发一个旨在使用蓝牙耳机麦克风录制语音的应用程序。我在这种环境中使用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之后尝试将音频输入源设置为VOICE_CALL,但应用程序崩溃了。

最后,我找到了link。我想知道是否有任何cordova插件可以做到这一点?有没有办法使用Ionic 2从蓝牙耳机麦克风录制音频?

提前致谢

1 个答案:

答案 0 :(得分:3)

没有为此目的而知道的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