tencent_rtc_sdk 12.2.0 tencent_rtc_sdk: ^12.2.0 copied to clipboard
Tencent RTC Flutter SDK.
TRTC SDK(Flutter) #
Tencent RTC Flutter SDK based on FFI supports Android, iOS, macOS, Windows, and also supports OHOS (please fill out the application form if you want to use OHOS).
Demo quick start #
Please see Demo Quick Start(Flutter)
SDK quick integration #
Please see Quick integration(Flutter)
SDK class files #
- trtc_cloud-Tencent Cloud TRTC Core Function Interface.
- trtc_cloud_video_view-Provides widgets for rendering video
TRTCCloudVideoView
. - tx_audio_effect_manager-Tencent Cloud Audio Effect Management Module.
- tx_device_manager-Tencent Cloud Audio Effect Management Module.
- trtc_cloud_def-TRTC key class definition Description: definitions of interfaceerated and constant values such as resolution and quality level
- trtc_cloud_listener-Tencent Cloud TRTC Event Notification Interface.
Sample call #
1.Initialization
// Create TRTCCloud singleton
trtcCloud = await TRTCCloud.sharedInstance();
// Tencent Cloud Audio Effect Management Module
txDeviceManager = trtcCloud.getDeviceManager();
// Tencent Cloud Audio Effect Management Module
txAudioManager = trtcCloud.getAudioEffectManager();
2.Room entry/exit
// Room entry/exit
trtcCloud.enterRoom(
TRTCParams(
sdkAppId: sdkAppId,
userId: userId,
userSig: userSig,
roomId: roomId),
TRTCCloudDef.TRTC_APP_SCENE_VIDEOCALL);
// Leave a room
trtcCloud.exitRoom();
3.Listener registration
// Register a listener
TRTCCloudListener listener = TRTCCloudListener(
onError: (errorCode, errorMessage) {
debugPrint("TRTCCloudListener onError errCode:$errCode errMsg: $errMsg");
}
……
)
trtcCloud.registerListener(listener);
//Remove a listener
trtcCloud.unRegisterListener(listener);
4.Playing local video
// Parameters:
// frontCamera: `true`: front camera; `false`: rear camera
// viewId: view ID generated by `TRTCCloudVideoView`
TRTCCloudVideoView(
onViewCreated: (viewId) {
trtcCloud.startLocalPreview(true, viewId);
});
5.Display remote video
// Parameters:
// userId: Specifies the userid of the remote user
// streamType: Specifies the type of video stream to watch userid:
//* HD big picture:TRTCVideoStreamType.big
//* Low definition large picture:TRTCVideoStreamType.small
// viewId: view ID generated by `TRTCCloudVideoView`
TRTCCloudVideoView(
onViewCreated: (viewId) {
trtcCloud.startRemoteView(userId, TRTCVideoStreamType.big, viewId);
});
5.Display remote screen sharing
/// Parameters:
/// userId: Specifies the userid of the remote user
/// streamType: type of the remote user’s video stream to play:
///* Substream (screen sharing): TRTCVideoStreamType.sub
/// viewId: view ID generated by `TRTCCloudVideoView`
TRTCCloudVideoView(
onViewCreated: (viewId) {
trtcCloud.startRemoteView(userId, TRTCVideoStreamType.sub, viewId);
});
How do I view TRTC logs? #
TRTC logs are compressed and encrypted by default with the XLOG extension. You can set setLogCompressEnabled to specify whether to encrypt logs. If a log filename contains C (compressed), the log is compressed and encrypted; if it contains R (raw), the log is in plaintext.
- iOS:Documents/log of the application sandbox
- Android
- 6.7 or below: /sdcard/log/tencent/liteav
- 6.8 or above: /sdcard/Android/data/package name/files/log/tencent/liteav/
Common problem #
IOS cannot display video (Android is good)
Please confirm io.flutter.embedded_views_preview is YES
in your info.plist
Android Manifest merge failed
Please Open '/example/android/app/src/main/AndroidManifest.xml' file。
1.Add xmlns:tools="http://schemas.android.com/tools" to manifest
2.Add tools:replace="android:label" to application