TestLive
,单击【创建】。/example/lib/debug/GenerateTestUserSig.dart
文件。GenerateTestUserSig.dart
文件中的相关参数:flutter pub get
。flutter run
。/ios工程
。文件或文件夹 | 功能描述 |
base | UI 使用的基础类。 |
list | 列表页和创建房间页。 |
room | 主房间页面,包括主播和观众两种界面。 |
TRTCLiveRoom.dart
文件中看到该组件提供的接口函数,并使用对应接口实现自定义 UI 界面。pubspec.yaml
中写如下依赖:dependencies:tencent_trtc_cloud: 最新版本号tencent_im_sdk_plugin: 最新版本号
Info.plist
中加入对相机和麦克风的权限申请:<key>NSMicrophoneUsageDescription</key><string>授权麦克风权限才能正常语音通话</string>
/android/app/src/main/AndroidManifest.xml
文件。xmlns:tools="http://schemas.android.com/tools"
加入到 manifest 中。tools:replace="android:label"
加入到 application 中。lib/TRTCLiveRoom/model/
sharedInstance
接口可以创建一个 TRTCLiveRoom 组件的实例对象。registerListener
函数注册组件的事件通知。login
函数完成组件的登录,请参考下表填写关键参数:参数名 | 作用 |
sdkAppId | |
userId | 当前用户的 ID,字符串类型,只允许包含英文字母(a-z、A-Z)、数字(0-9)、连词符(-)和下划线(_)。建议结合业务实际账号体系自行设置。 |
userSig | |
useCDNFirst | 用于设置观众观看方式。true 表示普通观众通过 CDN 观看,计费便宜但延时较高。false 表示普通观众通过低延时观看,计费价格介于 CDN 和连麦之间,但延迟可控制在1s以内。 |
CDNPlayDomain |
setSelfProfile
设置自己的昵称和头像。startCameraPreview
开启摄像头预览,界面上可以配置美颜调节按钮调用,通过 getBeautyManager
进行美颜设置。createRoom
创建新的直播间。startPublish
开始推流。如需支持 CDN 观看,请在 login 时传入的 TRTCLiveRoomConfig
参数中指定 useCDNFirst
和 CDNPlayDomain
并在 startPublish
时指定直播拉流用的 streamID。setSelfProfile
设置自己的昵称和头像。getRoomInfos
获取房间的详细信息,该信息是在主播端调用 createRoom
创建直播间时设置的简单描述信息。getRoomInfos
相关步骤。enterRoom
并传入房间号即可进入该房间。startPlay
并传入主播的 userId 开始播放。startPlay
并传入主播的 userId 即可开始播放。onAnchorEnter
的事件回调,该回调中携带主播的 userId 信息,调用 startPlay
即可播放。requestJoinAnchor
向主播端发起连麦请求。TRTCLiveRoomDelegate#onRequestJoinAnchor
(即有观众请求与您连麦)的事件通知。responseJoinAnchor
决定是否接受来自观众端的连麦请求。onAnchorAccepted
事件通知,该通知会携带来自主播端的处理结果。startCameraPreview
开启本地摄像头,随后调用 startPublish
启动观众端的推流。TRTCLiveRoomDelegate#onAnchorEnter
(即另一路音视频流已到来)通知,该通知会携带观众端的 userId。startPlay
即可看到连麦观众的画面。requestRoomPK
向主播 B 发起 PK 请求。TRTCLiveRoomDelegate onRequestRoomPK
回调通知。responseRoomPK
决定是否接受主播 A 的 PK 请求。TRTCLiveRoomDelegate onAnchorEnter
通知,调用 startPlay
显示主播 A。onRoomPKAccepted
回调通知,PK 请求是否被同意。TRTCLiveRoomDelegate onAnchorEnter
通知,调用 startPlay
显示主播 B。sendRoomTextMsg
可以发送普通的文本消息,所有在该房间内的主播和观众均可以收到 onRecvRoomTextMsg
回调。
即时通信 IM 后台有默认的敏感词过滤规则,被判定为敏感词的文本消息不会被云端转发。// 发送端:发送文本消息trtcLiveCloud.sendRoomTextMsg("Hello Word!");// 接收端:监听文本消息onListenerFunc(type, params) async {switch (type) {case TRTCLiveRoomDelegate.onRecvRoomTextMsg://收到群文本消息,可以用作文本聊天室break;}}
sendRoomCustomMsg
可以发送自定义(信令)的消息,所有在该房间内的主播和观众均可以收到 onRecvRoomCustomMsg
回调。
自定义消息常用于传输自定义信令,例如用于点赞消息的发送和广播。
本页内容是否解决了您的问题?