HarmonyOS 鸿蒙Next集成最新的trtc实现视频直播
HarmonyOS 鸿蒙Next集成最新的trtc实现视频直播
一、导入trtc SDK
- 参考创建和运行 Hello World,创建一个新工程。
- 将
LiteAVSDK_Professional_xxxxxx.har
("xxxxxx"对应具体对版本信息)文件复制到项目 entry -> libs 目录下。 - 在 entry 下的
oh-pacakge.json5
文件中添加依赖 : "file:libs/LiteAVSDK_Professional_xxxxxx.har"`,然后点击 Sync 开始同步。
二、配置app权限
在 entry 的 module.json5
的 module
模块中,声明需要权限:
"requestPermissions":[
{
"name" : "ohos.permission.KEEP_BACKGROUND_RUNNING"
},
{
"name" : "ohos.permission.INTERNET"
},
{
"name" : "ohos.permission.USE_BLUETOOTH"
},
{
"name" : "ohos.permission.GET_BUNDLE_INFO"
},
{
"name" : "ohos.permission.GET_NETWORK_INFO"
},
{
"name" : "ohos.permission.GET_WIFI_INFO"
},
{
"name" : "ohos.permission.MODIFY_AUDIO_SETTINGS"
},
{
"name" : "ohos.permission.MICROPHONE",
"reason": "$string:module_desc",
"usedScene": { "abilities": [ "EntryAbility" ], "when":"always" }
},
{
"name" : "ohos.permission.CAMERA",
"reason": "$string:module_desc",
"usedScene": { "abilities": [ "EntryAbility" ], "when":"always" }
},
]
三 . 创建SDK实例并设置事件监听器
import { getTRTCShareInstance, destroyTRTCShareInstance, TRTCCloud, TRTCCloudCallback } from “liteavsdk”;this.trtc = getTRTCShareInstance(getContext());this.trtc.addCallback(this.onCallback);
2.监听 SDK 的事件 通过设置事件回调接口,您可以监听 SDK 在运行期间所发生的错误信息、警告信息、流量统计信息、网络质量信息以及各种音视频事件。
private onEnterRoom = (result: number) => {
if (result > 0) {
this.showToast(“onEnterRoom Succuss cost=” + result);
} else {
this.showToast(“onEnterRoom Failed result=” + result);
}
};
private onCallback: TRTCCloudCallback = {
onEnterRoom: this.onEnterRoom,
};
this.trtc.addCallback(this.onCallback);
3准备进房参数 TRTCParams 在调用 enterRoom 接口时需要填写两个关键参数,即 TRTCParams 和 TRTCAppScene
- 进入房间 在准备好步骤4中两个参数(TRTCAppScene 和 TRTCParams)后,就可以调用 enterRoom 接口函数进入房间了。
let params = new TRTCParams();
params.sdkAppId = 123; // Please replace with your own SDKAppID
params.userId = “denny”; // Please replace with your own userid
params.roomId = 123321; // Please replace with your own room number
params.userSig = “xxx”; // Please replace with your own userSig
params.role = TRTCRoleType.TRTCRoleAnchor;
// 如果您的场景是“在线直播”,请将应用场景设置为 TRTC_APP_SCENE_LIVE
// If your application scenario is a video call between several people, please use “TRTC_APP_SCENE_LIVE”
trtc.enterRoom(params, TRTCAppScene.TRTCAppSceneLIVE);
四 ,订阅音视频流 // 在界面中创建XComponent,创建时需指定全局唯一ID,并将XComponentID作为入参传入StartRemoteView // 注意:libraryname必须为trtc sdk中so的名字(即’liteavsdk’)
build() {
Column() {
XComponent({id: “denny_cameraViewID”, type: XComponentType.SURFACE, libraryname: ‘liteavsdk’})
.backgroundColor(Color.Black)
}
}
// 播放 denny 的摄像头画面(我们称之为“主路画面”)
trtc.startRemoteView(“denny”, TRTCVideoStreamType.TRTCVideoStreamTypeBig, “denny_cameraViewID”);
// 播放 denny 的屏幕分享画面(我们称之为“辅路画面”)
trtc.startRemoteView(“denny”, TRTCVideoStreamType.TRTCVideoStreamTypeSmall, “denny_screenViewID”);
// 播放 denny 的低分辨率画面(主路画面和低清画面只能二选一)
trtc.startRemoteView(“denny”, TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_SMALL, “denny_cameraViewID”);
// 停止播放 denny 的摄像头画面
trtc.stopRemoteView(“denny”, TTRTCVideoStreamType.TRTCVideoStreamTypeBig);
// 停止播放所有视频画面
trtc.stopAllRemoteView();
五:退出房间
trtc.exitRoom();
更多关于HarmonyOS 鸿蒙Next集成最新的trtc实现视频直播的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS 鸿蒙Next集成最新的trtc实现视频直播的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
HarmonyOS 鸿蒙Next集成最新的TRTC(Real-Time Communication with Transport)视频直播功能,实现了高效、低延迟的视频传输与互动体验。该功能基于鸿蒙系统的分布式架构,能够充分利用系统资源,优化视频直播的流畅度和稳定性。
在HarmonyOS 鸿蒙Next中,TRTC视频直播功能支持多种分辨率和帧率的选择,以满足不同场景下的直播需求。同时,通过智能网络适配技术,该功能能够根据网络环境自动调整传输参数,确保在网络波动时仍能维持良好的直播质量。
此外,TRTC视频直播功能还集成了丰富的音视频处理算法,包括降噪、回声消除、自动增益控制等,以提升直播的音质和画质。用户还可以利用该功能实现多人互动直播,支持主播与观众之间的实时互动与沟通。
在集成方面,HarmonyOS 鸿蒙Next提供了简洁明了的API接口,方便开发者快速接入TRTC视频直播功能。开发者可以根据自身需求,灵活配置直播参数,实现个性化的直播体验。
总之,HarmonyOS 鸿蒙Next集成的最新TRTC视频直播功能,为用户提供了高效、稳定、高质量的直播体验。该功能不仅优化了视频传输性能,还丰富了直播互动形式,满足了不同场景下的直播需求。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。