HarmonyOS 鸿蒙Next 请问如何指定AudioCapturer采集的设备?

发布于 1周前 作者 caililin 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 请问如何指定AudioCapturer采集的设备?

发现连了蓝牙耳机之后,音频依然由设备本身的麦克风采集,而不是蓝牙耳机的麦克风。

2 回复

可以参考这个官方文档:管理全局音频输入设备-音频录制-Audio Kit(音频服务)-媒体 - 华为HarmonyOS开发者 

先使用getDevices()方法可以获取当前所有输入设备的信息。

先使用getDevices()方法可以获取当前所有输入设备的信息。

import { audio } from '@kit.AudioKit';

audioRoutingManager.getDevices(audio.DeviceFlag.INPUT_DEVICES_FLAG).then((data: audio.AudioDeviceDescriptors) => {
  console.info('Promise returned to indicate that the device list is obtained.');
});

然后针对这种场景可以监听设备类型为BLUETOOTH_SCO蓝牙设备SCO(Synchronous Connection Oriented)连接的时候切换到蓝牙设备上

import { audio } from '@kit.AudioKit';

// 监听音频设备状态变化
audioRoutingManager.on('deviceChange', audio.DeviceFlag.INPUT_DEVICES_FLAG, (deviceChanged: audio.DeviceChangeAction) => {
  console.info('device change type : ' + deviceChanged.type);  // 设备连接状态变化,0为连接,1为断开连接
  console.info('device descriptor size : ' + deviceChanged.deviceDescriptors.length);
  console.info('device change descriptor : ' + deviceChanged.deviceDescriptors[0].deviceRole);  // 设备角色
  console.info('device change descriptor : ' + deviceChanged.deviceDescriptors[0].deviceType);  // 设备类型
});

// 取消监听音频设备状态变化
audioRoutingManager.off('deviceChange', (deviceChanged: audio.DeviceChangeAction) => {
  console.info('Should be no callback.');
});

更多关于HarmonyOS 鸿蒙Next 请问如何指定AudioCapturer采集的设备?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,指定AudioCapturer采集的设备可以通过设置音频采集的配置参数来实现。具体步骤如下:

  1. 创建AudioCapturer实例:首先,需要创建AudioCapturer的实例,用于音频采集。

  2. 配置音频源:在创建AudioCapturer实例时或之后,通过配置参数来指定音频源。这些参数通常包括设备ID或设备类型(如麦克风、内置扬声器等)。

  3. 设置音频采集配置:使用AudioCapturer提供的API设置音频采集的配置,包括采样率、通道数等,同时指定音频源设备。

  4. 启动采集:配置完成后,调用AudioCapturer的启动方法开始采集音频。

示例代码(伪代码):

AudioCapturer capturer = new AudioCapturer();
AudioCapturerConfig config = new AudioCapturerConfig();
config.setDeviceId("指定设备ID"); // 设置设备ID,可以是系统提供的设备标识
capturer.setConfig(config);
capturer.start(); // 开始采集

注意:

  • 设备ID的获取方式可能因设备和系统版本而异,通常需要通过系统API查询可用设备并获取其ID。
  • 不同的设备可能有不同的音频源名称或ID,需要参考具体设备的文档。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部