IMSDK
即时通信 IM 提供全球接入、单聊、群聊、消息推送、资料关系链托管、账号鉴权等全方位解决方案,并提供完备的 App 接入、后台管理接口。
V2TIMSoundElem

构造函数

(void) - getUrl:
 
(void) - downloadSound:progress:succ:fail:
 
(void) - convertVoiceToText:completion:
 
(V2TIMElem *) - nextElem
 
(void) - appendElem:
 

属性

NSString * path
 
NSString * uuid
 
int dataSize
 
int duration
 

详细描述

语音消息 Elem

函数文档

◆ getUrl:()

- (void) getUrl: (void(^)(NSString *url))  urlCallBack

获取语音的 URL 下载地址

◆ downloadSound:progress:succ:fail:()

- (void) downloadSound: (NSString *)  path
progress: (V2TIMDownLoadProgress)  progress
succ: (V2TIMSucc)  succ
fail: (V2TIMFail)  fail 

下载语音

downloadSound 接口每次都会从服务端下载,如需缓存或者存储,开发者可根据 uuid 作为 key 进行外部存储,ImSDK 并不会存储资源文件。

参数
path语音保存路径,需要外部指定

◆ convertVoiceToText:completion:()

- (void) convertVoiceToText: (NSString *)  language
completion: (void(^)(int code, NSString *desc, NSString *result))  callback 

将语音转成文字(7.4 及以上版本支持)

参数
language识别的语言。
注意

◆ nextElem()

- (V2TIMElem *) nextElem

获取下一个 Elem,如果您的消息有多个 Elem,可以通过当前 Elem 获取下一个 Elem 对象,如果返回值为 nil,表示 Elem 获取结束。 详细使用方法请参考文档 消息收发

◆ appendElem:()

- (void) appendElem: (V2TIMElem *)  elem

添加下一个 elem 元素
如果您的消息需要多个 elem,可以在创建 Message 对象后,通过 Message 的 Elem 对象添加下一个 elem 对象。 以 V2TIMTextElem 和 V2TIMCustomElem 多 elem 为例,示例代码如下:

    V2TIMMessage *msg = [[V2TIMManager sharedInstance] createTextMessage:"text"];
    V2TIMCustomElem *customElem = [[V2TIMCustomElem alloc] init];
    customElem.data = ["自定义消息" dataUsingEncoding:NSUTF8StringEncoding];
    [msg.textElem appendElem:customElem];
注意
1.该接口只能由 createMessage 创建的 Message 对象里的 elem 元素调用。 2.该接口仅支持添加 V2TIMTextElem、V2TIMCustomElem、V2TIMFaceElem 和 V2TIMLocationElem 四类元素。

属性说明

◆ path

- (NSString*) path
readnonatomicstrong

语音文件路径(只有发送方才能获取到)

◆ uuid

- (NSString*) uuid
readnonatomicstrong

语音消息内部 ID

◆ dataSize

- (int) dataSize
readnonatomicassign

语音数据大小

◆ duration

- (int) duration
readnonatomicassign

语音长度(秒)