HarmonyOS 鸿蒙Next集成最新的trtc实现视频直播

发布于 1周前 作者 sinazl 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next集成最新的trtc实现视频直播

一、导入trtc SDK

  1. 参考创建和运行 Hello World,创建一个新工程。
  2. LiteAVSDK_Professional_xxxxxx.har("xxxxxx"对应具体对版本信息)文件复制到项目 entry -> libs 目录下。
  3. entry 下的 oh-pacakge.json5 文件中添加依赖 : "file:libs/LiteAVSDK_Professional_xxxxxx.har"`,然后点击 Sync 开始同步。

二、配置app权限

entrymodule.json5module 模块中,声明需要权限:

    "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

  1. 进入房间 在准备好步骤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

1 回复

更多关于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。

回到顶部