tencent_trtc_cloud 2.7.9-stable tencent_trtc_cloud: ^2.7.9-stable 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