BRTC HarmonyOS SDK 在调用接口开启本地预览或显示远端用户视频时,目前不需要指定视图对象。取而代之的是,您需要将用于显示视频的 XComponent 控件的属性设置正确即可。具体包括两点:
1、XComponent 的 id 必须以 userId_streamType 的形式命名2、XComponent 的 libraryname 必须指定为 BRTC HarmonyOS SDK 的名称 brtcohossdk
userId_streamType
brtcohossdk
举例如下:
getXcomponentUniqueId(): string { return this.userItem.userId + "_" + this.userItem.streamType; } XComponent({ id: this.getXcomponentUniqueId(), type: XComponentType.SURFACE, libraryname: 'brtcohossdk', controller: this.xComponentController}) .onLoad(async () => { hilog.info(0x0000, this.TAG, 'XComponent id:%{public}s on load', this.getXcomponentUniqueId()); })
根据 HarmonyOS 官方介绍文字:
设备返回主界面、锁屏、应用切换等操作会使应用退至后台。应用退至后台后,如果继续活动,可能会造成设备耗电快、用户界面卡顿等现象。为了降低设备耗电速度、保障用户使用流畅度,系统会对退至后台的应用进行管控,包括进程挂起(即系统不再为应用进程分配CPU资源,同时对应的公共事件等不再发给应用进程)和进程终止。
对于音视频应用来说,退后台继续播放房间内的声音、继续通过麦克风采集等是非常普遍的需求。因此,为了实现这一目的,您的应用程序需要添加后台任务保活功能。具体到后台服务类型,建议您创建长时任务,具体介绍请参考华为技术文档:Background Tasks Kit - 长时任务
长时任务
另外,您也可以在 BRTC HarmonyOS Demo App 源代码中找到保活任务的代码示例(参考 BrtcBackgroundUtil.ets)
BrtcBackgroundUtil.ets
HarmonyOS 不提供音频输出设备切换的 API (参考 使用通话设备切换组件 上面的说明)。如果您想在您的应用中实现音频输出路由的切换,您需要利用 AVCastPicker投播组件来完成。开发步骤请参考华为技术文档使用通话设备切换组件 。或者您也可以在 BRTC HarmonyOS Demo App 源代码中找到使用示例。
AVCastPicker
HarmonyOS
视频视图控件 XComponent 的命名规则
BRTC HarmonyOS SDK 在调用接口开启本地预览或显示远端用户视频时,目前不需要指定视图对象。取而代之的是,您需要将用于显示视频的 XComponent 控件的属性设置正确即可。具体包括两点:
1、XComponent 的 id 必须以
userId_streamType
的形式命名2、XComponent 的 libraryname 必须指定为 BRTC HarmonyOS SDK 的名称
brtcohossdk
举例如下:
添加应用后台保活
根据 HarmonyOS 官方介绍文字:
对于音视频应用来说,退后台继续播放房间内的声音、继续通过麦克风采集等是非常普遍的需求。因此,为了实现这一目的,您的应用程序需要添加后台任务保活功能。具体到后台服务类型,建议您创建
长时任务
,具体介绍请参考华为技术文档:Background Tasks Kit - 长时任务另外,您也可以在 BRTC HarmonyOS Demo App 源代码中找到保活任务的代码示例(参考
BrtcBackgroundUtil.ets
)音频路由切换
HarmonyOS 不提供音频输出设备切换的 API (参考 使用通话设备切换组件 上面的说明)。如果您想在您的应用中实现音频输出路由的切换,您需要利用
AVCastPicker
投播组件来完成。开发步骤请参考华为技术文档使用通话设备切换组件 。或者您也可以在 BRTC HarmonyOS Demo App 源代码中找到使用示例。