Skip to content

Flutter SDK 接入 ​

确认运行环境 ​

Flutter >=3.13.0,Dart >=3.1.0 <4.0.0。支持 Android 5.0(API Level 21)及以上、iOS 13.0 及以上、macOS 11.5 及以上,以及 OpenHarmony SDK 12 及以上。

添加 SDK 依赖 ​

bash
flutter pub add tirtc_flutter

构建 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()。

应用不再使用 Ti 云存且所有相关实例和任务均已释放后,调用 TiCloudStorage.shutdown() 释放进程级资源。

配置回放速度 ​

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

dart
replay.setSpeed(TiCloudStorageReplaySpeed.x0_5);

确认可以查询录像 ​

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

接入客户端诊断能力(推荐) ​

初始化成功后,建议在开发阶段为 App 预留隐藏的日志上传入口。这样在需要平台协助诊断时,可以直接上传同一次复现的日志;入口设计、上传结果处理和可选的原始音视频诊断采集见接入客户端诊断能力。

Ti 云存开发文档