TUIVideoMessageCellData Class Reference

Inherits from TUIMessageCellData : TCommonCellData : NSObject
Declared in TUIVideoMessageCellData.h
TUIVideoMessageCellData.m

Overview

【模块名称】TUIVideoMessageCellData 【功能说明】视频消息单元数据源。 视频消息单元,即包含了视频的消息单元。 视频消息单元数据源包含了视频消息单元所需的一系列消息和数据。 同时,本消息单元整合调用了 IM SDK,通过 SDK 提供的接口进行视频的在线获取。 本类配合消息控制器实现了视频消息的播放等业务逻辑。 数据源帮助实现了 MVVM 架构,使数据与 UI 进一步解耦,同时使 UI 层更加细化、可定制化。

Other Methods

  thumbImage

缩略图图像

@property (nonatomic, strong) UIImage *thumbImage

Declared In

TUIVideoMessageCellData.h

  videoPath

视频路径 用于视频在本地的存取

@property (nonatomic, strong) NSString *videoPath

Declared In

TUIVideoMessageCellData.h

  snapshotPath

快照路径 用于快照在本地的存取。

@property (nonatomic, strong) NSString *snapshotPath

Declared In

TUIVideoMessageCellData.h

  videoItem

视频消息的视频项目

@property (nonatomic, strong) TUIVideoItem *videoItem

Declared In

TUIVideoMessageCellData.h

  snapshotItem

视频消息的快照项目

@property (nonatomic, strong) TUISnapshotItem *snapshotItem

Declared In

TUIVideoMessageCellData.h

  uploadProgress

上传进度

@property (nonatomic, assign) NSUInteger uploadProgress

Declared In

TUIVideoMessageCellData.h

  thumbProgress

缩略图获取进度

@property (nonatomic, assign) NSUInteger thumbProgress

Declared In

TUIVideoMessageCellData.h

  videoProgress

视频获取进度

@property (nonatomic, assign) NSUInteger videoProgress

Declared In

TUIVideoMessageCellData.h

– downloadThumb

获取视频封面 本函数整合调用了 IM SDK,通过 SDK 提供的接口在线获取封面。 1、下载前会判断封面是否在本地,若不在本地,则在本地直接获取封面文件。 2、当封面不在本地时,通过 IM SDK 中 TIMSnapshot 类提供的 getImage 接口在线获取。 3-1、下载进度百分比则通过接口回调的 progress(代码块)参数进行更新。 3-2、代码块具有 curSize 和 totalSize 两个参数,由回调函数维护 curSize,然后通过 curSize * 100 / totalSize 计算出当前进度百分比。 4-1、视频消息中存放的格式为 IMVideoElem,您可以通过 IMVideoElem.snapshot 获取封面实例。 4-2、通过 SDK 接口获取的图像为二进制文件,需先进行解码,转换为 CGIamge 进行解码操作后包装为 UIImage 才可使用。 5、下载成功后,会生成封面 path 并存储下来。

- (void)downloadThumb

Declared In

TUIVideoMessageCellData.h

– downloadVideo

获取视频 本函数整合调用了 IM SDK,通过 SDK 提供的接口在线获取视频。 1、下载前会判断视频是否在本地,若不在本地,则在本地直接获取视频文件。 2、当视频不在本地时,通过 IM SDK 中 TIMVideo 类提供的 getVideo 接口在线获取。 3-1、下载进度百分比则通过接口回调的 progress(代码块)参数进行更新。 3-2、代码块具有 curSize 和 totalSize 两个参数,由回调函数维护 curSize,然后通过 curSize * 100 / totalSize 计算出当前进度百分比。 4、视频消息中存放的格式为 IMVideoElem,该类实例无法通过播放器直接播放,您可以通过 IMVideoElem.video 获取视频实例。 5、下载成功后,会生成视频 path 并存储下来。

- (void)downloadVideo

Declared In

TUIVideoMessageCellData.h

– isVideoExist

判断视频是否在本地存在

- (BOOL)isVideoExist

Return Value

YES:视频存在于本地;NO:视频在本地不存在。

Declared In

TUIVideoMessageCellData.h

Other Methods

– init

- (id)init

– updateThumbProgress:

- (void)updateThumbProgress:(NSUInteger)progress

– decodeThumb

- (void)decodeThumb

– updateVideoProgress:

- (void)updateVideoProgress:(NSUInteger)progress

– getVideoPath:

- (NSString *)getVideoPath:(BOOL *)isExist

– getSnapshotPath:

- (NSString *)getSnapshotPath:(BOOL *)isExist

– getIMSnapshot

- (TIMSnapshot *)getIMSnapshot

– getIMVideo

- (TIMVideo *)getIMVideo

– contentSize

内容大小 返回一个气泡内容的视图大小。

- (CGSize)contentSize

Declared In

TUIMessageCellData.h

Extension Methods

  isDownloadingSnapshot

@property (nonatomic, assign) BOOL isDownloadingSnapshot

  isDownloadingVideo

@property (nonatomic, assign) BOOL isDownloadingVideo