在 Harmony 开发中调用 createAudioCapturer 时出现 201 Permission denied 或 6800301 怎么解决?
harmonyos
在 ArkTS 里用 AudioKit 录音,调用 audio.createAudioCapturer 时总是失败,有时报 BusinessError.code = 201(Permission denied),有时是 6800301。真机上表现为录音功能不可用。
问题相关代码片段、运行结果、报错内容
import { audio } from '@kit.AudioKit';
import { BusinessError } from '@kit.BasicServicesKit';
let audioStreamInfo: audio.AudioStreamInfo = {
samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_48000,
channels: audio.AudioChannel.CHANNEL_2,
sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE,
encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW
};
let audioCapturerInfo: audio.AudioCapturerInfo = {
source: audio.SourceType.SOURCE_TYPE_MIC,
capturerFlags: 0
};
let audioCapturerOptions: audio.AudioCapturerOptions = {
streamInfo: audioStreamInfo,
capturerInfo: audioCapturerInfo
};
audio.createAudioCapturer(audioCapturerOptions)
.then(capturer => {
console.info('AudioCapturer Created : SUCCESS');
})
.catch((err: BusinessError) => {
console.error('AudioCapturer Created : ERROR, code=' + err.code);
});
日志:
-
有时:
code=201, message=Permission denied. -
有时:
code=6800301(权限校验异常或系统处理异常)