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 预留隐藏的日志上传入口。这样在需要平台协助诊断时,可以直接上传同一次复现的日志;入口设计、上传结果处理和可选的原始音视频诊断采集见接入客户端诊断能力。