Skip to content

Flutter SDK 接入

确认运行环境

Flutter >=3.13.0,Dart >=3.1.0 <4.0.0。支持 Android、iOS、macOS、OpenHarmony 和 HarmonyOS NEXT。

添加 SDK 依赖

yaml
dependencies:
  flutter:
    sdk: flutter
  tirtc_flutter: 2.4.0-alpha.3

构建 Android 目标时,在 android/build.gradle.kts 加入:

kotlin
allprojects {
  repositories {
    google()
    mavenCentral()
    maven {
      url = uri("http://repo-sdk.tange-ai.com/repository/maven-public/")
      isAllowInsecureProtocol = true
      credentials {
        username = "tange_user"
        password = "tange_user"
      }
    }
  }
}

初始化并查询录像

appId 来自申请开通appAccessToken 由自己的业务服务端签发,见云端签发 Token。查询时间使用 UTC Unix 毫秒。

dart
import 'package:tirtc_flutter/tirtc_flutter.dart';

final initCode = await TiCloudStorage.init(appId: appId);
if (initCode != kTiCloudStorageErrorOk) {
  throw StateError(TiCloudStorage.errorToString(initCode));
}
final cloudStorage = TiCloudStorage(token: appAccessToken);
final result = await cloudStorage.listRecordings(
  startTimeMs: startTimeMs,
  endTimeMs: endTimeMs,
);
if (!result.success) {
  throw StateError('list recordings failed');
}
final recordings = result.data!;

页面退出时先停止 Replay,再 detach 并 dispose 两个 Output,随后 dispose Replay。确认不再访问这台设备后,再调用 cloudStorage.dispose()

配置回放速度

Replay 支持 x0_125x0_25x0_5x1x2x4x8 七档速度,分别对应 1/8、1/4、1/2、1、2、4、8 倍速。三档慢速采用持帧显示;非 1 倍速时 Audio Output 自动静音。

dart
replay.setSpeed(TiCloudStorageReplaySpeed.x0_5);

确认可以查询录像

查询成功且 recordings 非空,说明初始化和 Token 鉴权均已通过,查询范围内也存在录像。列表为空时,确认查询范围覆盖设备已经完成上传的 UTC 时间。

Ti 云存开发文档