tencent_trtc_cloud 2.3.5 tencent_trtc_cloud: ^2.3.5 copied to clipboard
With TRTC, you can quickly develop cost-effective, low-latency, and high-quality interactive audio/video services.
简体中文 | English
TRTC SDK (Flutter) #
API OverView,API Detailed documentation
Demonstrates how to use RTC APIs for Flutter. API Example
Note: Demo does not support simulator operation. Please use real machine development and debugging.
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_beauty_manager-Beauty filter and animated effect parameter management.
- 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();
// Beauty filter and animated effect parameter management
txBeautyManager = trtcCloud.getBeautyManager();
// 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
trtcCloud.registerListener(onRtcListener);
onRtcListener(type, param) {
// Callback for room entry
if (type == TRTCCloudListener.onEnterRoom) {
if (param > 0) {
showToast('Entered the room successfully');
}
}
// Callback for the entry of a remote user
if (type == TRTCCloudListener.onRemoteUserEnterRoom) {
// The parameter is the user ID of the remote user.
}
// Whether the remote user has a playable primary image (generally for camera)
if (type == TRTCCloudListener.onUserVideoAvailable) {
//param['userId'] is the user ID of the remote user
//param['visible'] indicates whether image is enabled
}
}
//Remove a listener
trtcCloud.unRegisterListener(onRtcListener);
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:TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_BIG
//* Low definition large picture:TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_SMALL
// viewId: view ID generated by `TRTCCloudVideoView`
TRTCCloudVideoView(
onViewCreated: (viewId) {
trtcCloud.startRemoteView(userId, TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_SMALL, 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): TRTCCloudDe.TRTC_VIDEO_STREAM_TYPE_SUB
/// viewId: view ID generated by `TRTCCloudVideoView`
TRTCCloudVideoView(
onViewCreated: (viewId) {
trtcCloud.startRemoteView(userId, TRTCCloudDef.TRTC_VIDEO_STREAM_TYPE_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