IMSDK
IM features a comprehensive suite of solutions including global access, one-to-one chat, group chat, message push, profile and relationship chain hosting, and account authentication. It also provides complete app access and backend management APIs.
V2TIMSoundElem

Instance Methods

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

Properties

NSString * path
 
NSString * uuid
 
int dataSize
 
int duration
 

Method Documentation

◆ getUrl:()

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

Get the voice download URL.

◆ downloadSound:progress:succ:fail:()

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

Download voice

The downloadSound API downloads files from the server each time. If cache or storage is required, you can use UUIDs as keys for external storage. The IM SDK does not store resource files.

Parameters
pathVoice save path, which must be specified externally

◆ convertVoiceToText:completion:()

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

Convert the voice to text (supported only in 7.4 and later versions).

Parameters
languageRecognition language of voice.
Attention
  • Converting voice to text is a value-added payment feature, and now is in the stage of internal testing. You can join Tencent Cloud IM Group to contact us to activate this feature for you.

◆ nextElem()

- (V2TIMElem *) nextElem

Get the next Elem. If your message has multiple Elems, you can get the next Elem object from the current Elem. If the return value is nil, it means the Elem acquisition is over. For detailed usage, please refer to the document Message sending and receiving

◆ appendElem:()

- (void) appendElem: (V2TIMElem *)  elem

Add the next element
To configure multiple elements, you can add the next element via the element of a Message object after creating the Message object. The following is the sample code for creating V2TIMTextElem and V2TIMCustomElem elements:

    V2TIMMessage *msg = [[V2TIMManager sharedInstance] createTextMessage:"text"];
    V2TIMCustomElem *customElem = [[V2TIMCustomElem alloc] init];
    customElem.data = ["自定义消息" dataUsingEncoding:NSUTF8StringEncoding];
    [msg.textElem appendElem:customElem];
Attention
  • This API can be called only by elements of a Message object created via createMessage.
  • This API can be used to add elements only of the V2TIMTextElem, V2TIMCustomElem, V2TIMFaceElem, and V2TIMLocationElem types.

Property Documentation

◆ path

- (NSString*) path
readnonatomicstrong

Voice file path(valid only for the message sender)

◆ uuid

- (NSString*) uuid
readnonatomicstrong

Internal ID of the voice message.

◆ dataSize

- (int) dataSize
readnonatomicassign

Voice file size.

◆ duration

- (int) duration
readnonatomicassign

Voice duration (seconds)