HarmonyOS 创建输入音频流失败

参考代码:

ALOGI("初始化音频AudioCapture");
OH_AudioStreamBuilder_Create(&builder, AUDIOSTREAM_TYPE_CAPTURER);
// 设置音频采样率
OH_AudioStreamBuilder_SetSamplingRate(builder, 8000);
// 设置音频声道
OH_AudioStreamBuilder_SetChannelCount(builder, 1);
// 设置音频采样格式
OH_AudioStreamBuilder_SetSampleFormat(builder, AUDIOSTREAM_SAMPLE_S16LE);
// 设置音频流的编码类型
OH_AudioStreamBuilder_SetEncodingType(builder, AUDIOSTREAM_ENCODING_TYPE_RAW);
// 设置输出音频流的工作场景
OH_AudioStreamBuilder_SetCapturerInfo(builder, OH_AudioStream_SourceType::AUDIOSTREAM_SOURCE_TYPE_MIC);
OH_AudioCapturer_Callbacks callbacks;
// 配置回调函数
callbacks.OH_AudioCapturer_OnReadData = OnReadData; // OnReadAudioData;
callbacks.OH_AudioCapturer_OnStreamEvent = OnStreamEvent;
callbacks.OH_AudioCapturer_OnInterruptEvent = OnInterruptEvent;
callbacks.OH_AudioCapturer_OnError = OnError;

// 设置输出音频流的回调
OH_AudioStream_Result result = OH_AudioStreamBuilder_SetCapturerCallback(builder, callbacks, nullptr);
ALOGI("OH_AudioStreamBuilder_SetCapturerCallback result:%d", result);
//此处返回了1(AUDIOSTREAM_ERROR_INVALID_PARAM),下面audioCapture是nullptr
result = OH_AudioStreamBuilder_GenerateCapturer(builder, &audioCapturer);
ALOGI("OH_AudioStreamBuilder_GenerateCapturer result:%d", result);
ALOGE("OH_AudioStreamBuilder_GenerateCapturer:%p",audioCapturer);
// 启动抓取麦克风音频数据
result = OH_AudioCapturer_Start(audioCapturer);
ALOGI("OH_AudioCapturer_Start result:%d", result);
HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

权限问题,需要打开MICROPHONE权限,audioCapturer才能创建成功。

分享
微博
QQ
微信
回复
1天前
相关问题
使用AudioRenderer播放pcm音频流失败
1773浏览 • 1回复 待解决
HarmonyOS SoundPool播放rawfile音频失败
38浏览 • 1回复 待解决
HarmonyOS applink创建失败
32浏览 • 1回复 待解决
HarmonyOS 创建日历失败
39浏览 • 1回复 待解决
HarmonyOS 创建相机预览失败
617浏览 • 1回复 待解决
HarmonyOS 创建window失败,返回1300002
96浏览 • 1回复 待解决
HarmonyOS web同层创建失败
39浏览 • 1回复 待解决
native创建socket会失败
1783浏览 • 1回复 待解决
DataAbilityHelper.creator()创建实例失败
3968浏览 • 1回复 待解决
javaUI 中webview通过布局创建实例失败
5634浏览 • 1回复 待解决