HarmonyOS OH_AudioStreamBuilder_GenerateCapturer失败

OH_AudioStreamBuilder *builder = nullptr;
OH_AudioStreamBuilder_Create(&builder, AUDIOSTREAM_TYPE_CAPTURER);
// 设置音频采样率
OH_AudioStreamBuilder_SetSamplingRate(builder, 48000);
// 设置音频声道
OH_AudioStreamBuilder_SetChannelCount(builder, 2);
// 设置音频采样格式
OH_AudioStreamBuilder_SetSampleFormat(builder, AUDIOSTREAM_SAMPLE_S16LE);
// 设置音频流的编码类型
OH_AudioStreamBuilder_SetEncodingType(builder, AUDIOSTREAM_ENCODING_TYPE_RAW);
// 设置输入音频流的工作场景
OH_AudioStreamBuilder_SetCapturerInfo(builder, AUDIOSTREAM_SOURCE_TYPE_MIC);
OH_AudioCapturer_Callbacks callbacks;
// 配置回调函数
callbacks.OH_AudioCapturer_OnReadData = MyCaptureOnReadData;
callbacks.OH_AudioCapturer_OnStreamEvent = MyCaptureOnStreamEvent;
callbacks.OH_AudioCapturer_OnInterruptEvent = MyCaptureOnInterruptEvent;
callbacks.OH_AudioCapturer_OnError = MyCaptureOnError;
OH_AudioStreamBuilder_SetCapturerCallback(builder, callbacks, nullptr);
audioCapturer_ = nullptr;
OH_AudioStream_Result result = OH_AudioStreamBuilder_GenerateCapturer(builder, &audioCapturer_);
IRTC_LOG_DEBUG("%{public}d", result);
if(audioCapturer_){
  OH_AudioCapturer_Start(audioCapturer_);
}

OH_AudioStreamBuilder_GenerateCapturer返回值为AUDIOSTREAM_ERROR_INVALID_PARAM,但是代码是从官方api文档里拷贝下来的。

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

Capture需要授权,请确认以下2处:

  1. module.json5中设置了ohos.permission.MICROPHONE。
  2. 应用中调用了类似如下代码,确保用户手动授权了。
let atManager = abilityAccessCtrl.createAtManager();
atManager.requestPermissionsFromUser(this.context, ['ohos.permission.MICROPHONE'])
分享
微博
QQ
微信
回复
1天前
相关问题
OH_AudioStreamBuilder_SetRendererInfo的用处
1768浏览 • 1回复 待解决
HarmonyOS OH_AudioRenderer问题
21浏览 • 1回复 待解决
HarmonyOS 关于OH_AudioRenderer的问题
415浏览 • 1回复 待解决
HarmonyOS 调用OH_LOG_SetCallback接口崩溃
31浏览 • 1回复 待解决
HarmonyOS OH_AudioRenderer_GetTimestamp的问题
171浏览 • 1回复 待解决
HarmonyOS 关于OH_NativeXComponent的销毁
46浏览 • 1回复 待解决
OH _Audio播放音频问题
2180浏览 • 1回复 待解决
OH_ImageNative转为cv::Mat
351浏览 • 1回复 待解决
HarmonyOS OH_Audio 需要提供 mute 方法
443浏览 • 1回复 待解决
HarmonyOS OH_ImageNative *image转为cv ::mat
56浏览 • 1回复 待解决