HarmonyOS 音频相关CAPI开放程度不足?

音频输入输出设备,目前C层API只能监听OH\_AudioDeviceDescriptor\_GetXXXX系列API,字符串类获取到的是空,type类API获取到的信息是对的。希望尽早统一到ArkTS API的程度,以及加入系统音量监听回调,并给于使用示例。

阅读 592
1 个回答

1.OH\_AudioDeviceDescriptor\_GetDeviceName本地的扬声器和听筒没有设备名和地址。OH\_AudioDeviceDescriptor\_GetDeviceAddress 可以获取蓝牙耳机地址。

  1. 获取设备名字用OH\_AudioDeviceDescriptor\_GetDeviceDisplayName
  2. 以下三个函数测试都能正常获取到数据。

OH\_AudioDeviceDescriptor\_GetDeviceSampleRates

OH\_AudioDeviceDescriptor\_GetDeviceChannelCounts

OH\_AudioDeviceDescriptor\_GetDeviceEncodingTypes

char* displayName = nullptr;
result2 = OH_AudioDeviceDescriptor_GetDeviceDisplayName(descriptor, &displayName);
OH_LOG_INFO(LOG_APP, "deviceName : %{public}s", displayName);
uint32_t* sampleRates = nullptr;
uint32_t size = 0;
uint32_t* channelCounts = 0;
result2 = OH_AudioDeviceDescriptor_GetDeviceSampleRates(descriptor,&sampleRates, &size);
result2 = OH_AudioDeviceDescriptor_GetDeviceChannelCounts(descriptor,&channelCounts,&size);
OH_AudioStream_EncodingType* encodingTypes = nullptr;
result2 = OH_AudioDeviceDescriptor_GetDeviceEncodingTypes(descriptor,&encodingTypes,&size);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进