code 6800301 指的是系统处理异常,通常情况是音频采集需要调用麦克风录制音频,但该行为属于隐私敏感行为,在调用麦克风前,需要先向用户申请权限“ohos.permission.MICROPHONE”。看一下麦克风权限配置是否正确"requestPermissions": [ { "name": "ohos.permission.MICROPHONE", "reason": "$string:app_name", "usedScene": { "abilities": [ "EntryAbility" ], "when": "always" } } ]demo如下,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/using-audiocapturer-for-recording-V5import audio from '@ohos.multimedia.audio'; import { BusinessError } from '@ohos.base'; import { abilityAccessCtrl, PermissionRequestResult, Permissions } from '@kit.AbilityKit'; @Entry @Component struct Index10 { @State message: string = ''; context: Context = getContext(this) as Context; build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) Button("点") .fontSize(50) .fontWeight(FontWeight.Bold) .onClick(() => { let permissions: Array<Permissions> = ['ohos.permission.MICROPHONE']; let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager(); // requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗 atManager.requestPermissionsFromUser(this.context, permissions).then((data: PermissionRequestResult) => { let grantStatus: Array<number> = data.authResults; let length: number = grantStatus.length; for (let i = 0; i < length; i++) { if (grantStatus[i] != 0) { // 用户拒绝授权,提示用户必须授权才能访问当前页面的功能,并引导用户到系统设置中打开相应的权限 return; } } fun1(); console.info(` Success to request permissions from user. authResults is ${grantStatus}.`); }) .catch((err: BusinessError) => { console.error(` Failed to request permissions from user. Code is ${err.code}, message is ${err.message}`); }) }) } .width('100%') } .height('100%') } } function fun1() { 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, (err, data) => { if (err) { console.error(`Invoke createAudioCapturer failed, code is ${err.code}, message is ${err.message}`); } else { console.info('Invoke createAudioCapturer succeeded.'); } }); }
code 6800301 指的是系统处理异常,通常情况是音频采集需要调用麦克风录制音频,但该行为属于隐私敏感行为,在调用麦克风前,需要先向用户申请权限“ohos.permission.MICROPHONE”。看一下麦克风权限配置是否正确
demo如下,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/using-audiocapturer-for-recording-V5