# Class VoiceMessage

普通语音消息

#### Version

1.3.0

#### Hierarchy (View Summary)

- MessageContent
  - VoiceMessage

- Defined in message/content/normal/VoiceMessage.ts:22

##### Index

### Constructors

constructor

### Properties

extra?
userInfo?
mentionedInfo?
rawString?
destructDuration?
base64
duration

### Methods

getSearchableWord
encodeBaseData
decodeBaseData
encode
decode
getClassName

## Constructors

### constructor

- new VoiceMessage(): VoiceMessage

  无参构造方法

  #### Returns VoiceMessage

  Overrides MessageContent.constructor

  - Defined in message/content/normal/VoiceMessage.ts:39

## Properties

### `Optional` extra

extra?: string

消息的附加信息，会随着消息发送出去

#### See

Message.extra

Inherited from MessageContent.extra

- Defined in message/content/MessageContent.ts:120

### `Optional` userInfo

userInfo?: UserInfo

消息携带的用户信息

Inherited from MessageContent.userInfo

- Defined in message/content/MessageContent.ts:124

### `Optional` mentionedInfo

mentionedInfo?: MentionedInfo

消息的 @ 信息

Inherited from MessageContent.mentionedInfo

- Defined in message/content/MessageContent.ts:128

### `Optional` rawString

rawString?: string

消息的原始内容

SDK 执行消息的 decode 方法正常时，会将数据解析到消息的各个字段，rawString 将会为空

如果 decode 方法异常时会将消息的原始数据保存在 rawString 中

Inherited from MessageContent.rawString

- Defined in message/content/MessageContent.ts:137

### `Optional` destructDuration

destructDuration?: number

阅后即焚时长，单位秒

    destructDuration <= 0 代表是普通消息
    destructDuration > 0 代表是阅后即焚消息，该消息已读后，经过 destructDuration 时间后销毁

#### Version

1.3.0

Inherited from MessageContent.destructDuration

- Defined in message/content/MessageContent.ts:147

### base64

base64: string = ''

语音数据的 base64 字符串

- Defined in message/content/normal/VoiceMessage.ts:26

### duration

duration: number = 0

语音时长，单位秒

    duration 在 encode() 方法中用 Math.ceil() 做向上取整
    如果不希望向上取整，客户可以将时长按需取整之后设置给 duration

- Defined in message/content/normal/VoiceMessage.ts:34

## Methods

### getSearchableWord

- getSearchableWord(): any

  返回消息体内的可搜索内容

      如果消息包含多个字段,可将每个字段填充到 List 中; 比如图文消息的 title 和 summary。

      SDK 内置消息已支持搜索，自定义消息需要实现该方法
      1) 不实现该方法，该类消息无法被搜索
      2) 实现该方法，返回 null 或者 List 长度为 0，无法被搜索
      3) 实现该方法， List 里面的 空字符串 和 null 会被忽略
      4) List 中必须包含有效的字符串才能被搜索到

  #### Returns any

  可搜索的内容

  #### Version

  1.1.0

  Inherited from MessageContent.getSearchableWord

  - Defined in message/content/MessageContent.ts:187

### encodeBaseData

- encodeBaseData(): HashMap<string, Object>

  将基类的基础数据保存到 map 中

  #### Returns HashMap<string, Object>

  Inherited from MessageContent.encodeBaseData

  - Defined in message/content/MessageContent.ts:195

### decodeBaseData

- decodeBaseData(map: HashMap<string, Object>): void

  将基类的基础数据从 map 中解析出来

  #### Parameters

  - map: HashMap<string, Object>

  #### Returns void

  Inherited from MessageContent.decodeBaseData

  - Defined in message/content/MessageContent.ts:216

### encode

- encode(): string

  编码方法，将消息转为 json 字符串

  #### Returns string

  json 字符串

  Overrides MessageContent.encode

  - Defined in message/content/normal/VoiceMessage.ts:47

### decode

- decode(contentString: string): void

  解码方法，将 json 字符串转为消息

  #### Parameters

  - contentString: string

    json 字符串

  #### Returns void

  Overrides MessageContent.decode

  - Defined in message/content/normal/VoiceMessage.ts:64

### getClassName

- getClassName(): string

  获取类名

  #### Returns string

  类名

  Overrides MessageContent.getClassName

  - Defined in message/content/normal/VoiceMessage.ts:80