开发准备
本文主要介绍开发前的准备工作,包括设备、系统及开发环境的要求等。
设备以及系统要求
- IDE 要求:DevEco Studio 5.0.0 Release(5.0.3.900)及以上
- 版本要求:5.0.0 及以上
开发环境
- DevEco Studio 开发工具。DevEco-Studio 下载地址
- ohpm 命令行工具。CommandLineTools
导入实时音视频 SDK
下载 qnrtckit.har 库文件 放入 demo 下的 entry/library 目录,在 entry 目录执行命令:
$ ohpm install .\library\qnrtckit.har
添加相关权限
我们需要在工程 entry/src/main/module.json5 文件中添加相应权限的说明,需要添加如下权限:
- 麦克风权限:
{
"name": "ohos.permission.MICROPHONE",
"reason": "$string:mic_reason",
"usedScene": {
"abilities": ["EntryAbility"],
"when": "inuse"
}
}
- 相机权限:
{
"name": "ohos.permission.CAMERA",
"reason": "$string:mic_reason",
"usedScene": {
"abilities": ["EntryAbility"],
"when": "inuse"
}
}
- 网络权限:
{
"name": "ohos.permission.INTERNET",
"reason": "$string:network",
"usedScene": {
"abilities": [
"EntryAbility"
],
"when": "inuse"
}
}
并在代码中请求获取相应权限:
const permissions: Array<Permissions> =
['ohos.permission.MICROPHONE', 'ohos.permission.CAMERA',
'ohos.permission.INTERNET'];
function reqPermissionsFromUser(permissions: Array<Permissions>, context: common.UIAbilityContext): void {
let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
// requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗
atManager.requestPermissionsFromUser(context, permissions).then((data) => {
let grantStatus: Array<number> = data.authResults;
let length: number = grantStatus.length;
for (let i = 0; i < length; i++) {
if (grantStatus[i] === 0) {
// 用户授权,可以继续访问目标操作
} else {
// 用户拒绝授权,提示用户必须授权才能访问当前页面的功能,并引导用户到系统设置中打开相应的权限
return;
}
}
// 授权成功
}).catch((err: BusinessError) => {
console.error(`Failed to request permissions from user. Code is ${err.code}, message is ${err.message}`);
})
}
文档反馈
(如有产品使用问题,请 提交工单)