HarmonyOS鸿蒙Next中通过卓易通安装apk,无法使用蓝牙sco录音
HarmonyOS鸿蒙Next中通过卓易通安装apk,无法使用蓝牙sco录音 app需要通过蓝牙耳机进行sco录音。 通过
mAudioManager.startBluetoothSco(); 开始录音
但是回调connecting 很快就转换未disconnected。
是卓易通不支持这个方式吗?
通过获取设备方法也无法获取蓝牙耳机,只有内置的mic。
AudioDeviceInfo[] allInputs = mAudioManager.getDevices(AudioManager.GET_DEVICES_INPUTS);
for (AudioDeviceInfo dev : allInputs) {
Logger.i(TAG, "available input device type=" + dev.getType());
}
更多关于HarmonyOS鸿蒙Next中通过卓易通安装apk,无法使用蓝牙sco录音的实战教程也可以访问 https://www.itying.com/category-93-b0.html
卓易通提供的是虚拟化音频硬件,系统层面"看"不到物理蓝牙耳机,GET_DEVICES_INPUTS等API自然就无法识别。
更多关于HarmonyOS鸿蒙Next中通过卓易通安装apk,无法使用蓝牙sco录音的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
蓝牙 SCO(Synchronous Connection-Oriented)录音需要应用保持后台常驻并直接访问蓝牙音频通道。卓易通作为鸿蒙系统上的兼容层/容器,出于系统安全和权限管控考虑,未向三方应用开放以下关键权限:
llowBackgroundFree和Persistent
如果 SCO 不可用,可以退而求其次使用 A2DP 通道(延迟较高,但兼容性好)
建议跟卓易通官方反馈哦
在 HarmonyOS Next 环境下,通过卓易通等兼容工具运行的 APK 是运行在受限的兼容层中,并非直接访问鸿蒙原生音频框架。AudioManager.startBluetoothSco() 和 getDevices() 依赖 Android 的音频 HAL 与蓝牙协议栈的深度集成。由于兼容层对蓝牙 SCO 链路管理与真实设备枚举的实现存在隔离,会导致 SCO 状态机迅速从 connecting 回落为 disconnected,并且音频输入设备列表仅暴露内置 mic 而无法枚举蓝牙耳机。这是该运行模式的固有限制,并非代码问题。


