HarmonyOS鸿蒙Next中createAudioCapturer调用{"code":6800301}
HarmonyOS鸿蒙Next中createAudioCapturer调用{“code”:6800301}
Cannot get SourceMap info, dump raw stack:
=====================Backtrace========================
#01 pc 000000000012352b /system/lib64/module/multimedia/libaudio.z.so
#02 pc 00000000001233d3 /system/lib64/module/multimedia/libaudio.z.so
#03 pc 00000000000479eb /system/lib64/platformsdk/libace_napi.z.so
#04 pc 0000000000012cbb /system/lib64/platformsdk/libuv.so
#05 pc 00000000000172bb /system/lib64/platformsdk/libuv.so
#06 pc 0000000000016c03 /system/lib64/platformsdk/libuv.so
#07 pc 000000000001772b /system/lib64/platformsdk/libuv.so
#08 pc 0000000000069047 /system/lib64/platformsdk/libruntime.z.so
=====================Backtrace========================
#01 pc 000000000012352b /system/lib64/module/multimedia/libaudio.z.so
#02 pc 00000000001233d3 /system/lib64/module/multimedia/libaudio.z.so
#03 pc 00000000000479eb /system/lib64/platformsdk/libace_napi.z.so
#04 pc 0000000000012cbb /system/lib64/platformsdk/libuv.so
#05 pc 00000000000172bb /system/lib64/platformsdk/libuv.so
#06 pc 0000000000016c03 /system/lib64/platformsdk/libuv.so
#07 pc 000000000001772b /system/lib64/platformsdk/libuv.so
#08 pc 0000000000069047 /system/lib64/platformsdk/libruntime.z.so
更多关于HarmonyOS鸿蒙Next中createAudioCapturer调用{"code":6800301}的实战教程也可以访问 https://www.itying.com/category-93-b0.html
code 6800301 指的是系统处理异常,通常情况是音频采集需要调用麦克风录制音频,但该行为属于隐私敏感行为,在调用麦克风前,需要先向用户申请权限“ohos.permission.MICROPHONE”。可以看一下麦克风权限配置是否正确
{
"requestPermissions": [
{
"name": "ohos.permission.MICROPHONE",
"reason": "$string:app_name",
"usedScene": {
"abilities": [
"EntryAbility"
],
"when": "always"
}
}
]
}
demo如下,参考文档:使用AudioCapturer开发音频录制功能-音频录制-Audio Kit(音频服务)-媒体 - 华为HarmonyOS开发者 (huawei.com)
import 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.');
}
});
}
更多关于HarmonyOS鸿蒙Next中createAudioCapturer调用{"code":6800301}的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,调用createAudioCapturer
时出现错误代码6800301
,通常表示音频捕获器初始化失败。具体原因可能包括以下情况:
-
权限问题:应用未获取所需的麦克风权限。需要在应用的配置文件中声明并使用
ohos.permission.MICROPHONE
权限。 -
资源不足:系统资源(如内存或音频设备)被占用或不足,导致无法创建音频捕获器。
-
参数错误:
AudioCapturerInfo
参数配置不正确,如采样率、通道数或音频格式不符合设备支持的范围。 -
设备不支持:当前设备不支持所请求的音频捕获功能。
-
系统限制:系统策略或限制阻止了音频捕获器的创建。
要解决此问题,需检查权限、参数配置,并确保设备支持所需功能。
错误代码6800301表示在调用createAudioCapturer
时,音频采集器创建失败。可能的原因包括:
- 权限问题:应用未获取
ohos.permission.MICROPHONE
权限。 - 设备不支持:当前设备不支持音频采集功能。
- 资源冲突:其他应用正在占用音频资源。
- 参数错误:
AudioCapturerOptions
配置不正确。
建议您检查权限配置、设备支持情况以及参数设置,确保所有条件满足后再尝试调用。