Skip to content

React Native SDK 接入

确认运行环境

React Native >=0.80.0,启用 New Architecture;Android minSdk 23,iOS 15.1 及以上。

安装并配置 SDK

bash
npm install tirtc-react-native@2.4.0-alpha.3

Android 在 settings.gradledependencyResolutionManagement.repositories 中添加 SDK Maven 仓库:

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

android/gradle.properties 设置 newArchEnabled=true。iOS 的 Podfile 设置 platform :ios, '15.1' 后执行 cd ios && pod install

初始化并查询录像

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

typescript
import {
  TiCloudStorage,
  TiCloudStorageReplaySpeed,
  TI_CLOUD_STORAGE_ERROR_OK,
} from 'tirtc-react-native';

const initCode = await TiCloudStorage.init({appId});
if (initCode !== TI_CLOUD_STORAGE_ERROR_OK) {
  throw new Error(TiCloudStorage.errorToString(initCode));
}
const cloudStorage = new TiCloudStorage(appAccessToken);
const result = await cloudStorage.listRecordings(startTimeMs, endTimeMs);
if (result.code !== TI_CLOUD_STORAGE_ERROR_OK) {
  throw new Error(TiCloudStorage.errorToString(result.code));
}
const recordings = result.recordings;

组件卸载时,先从组件树移除 Video Output View,再停止 Replay。然后依次 detach 和 dispose 两个 Output,最后 dispose Replay 与 TiCloudStorage 实例。

配置回放速度

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

typescript
replay.setSpeed(TiCloudStorageReplaySpeed.x0_5);

确认可以查询录像

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

Ti 云存开发文档