Package io.rong.message

## Class VoiceMessage

- All Implemented Interfaces:

      public class VoiceMessage

  语音消息类

  语音消息类，此消息会进行存储并计入未读消息数。

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `public SpeechToTextInfo` | `sttInfo` |
    `public final static Creator<VoiceMessage>` | `CREATOR` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `VoiceMessage(Array<byte> data)` |
    `VoiceMessage(Parcel in)` |

  - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `SpeechToTextInfo` | `getSttInfo()` | 获取语音转文本信息。（仅提供 get 方法）
    `void` | `setSttInfo(SpeechToTextInfo sttInfo)` |
    `static VoiceMessage` | `obtain(Uri uri, int duration)` |
    `Array<byte>` | `encode()` |
    `void` | `writeToParcel(Parcel dest, int flags)` | 将类的数据写入外部提供的 Parcel 中。
    `int` | `describeContents()` | 描述了包含在 Parcelable 对象排列信息中的特殊对象的类型。
    `Uri` | `getUri()` | 获取音频文件的 Uri。
    `void` | `setUri(Uri uri)` | 设置音频文件的 Uri。
    `int` | `getDuration()` | 获取语音消息的时长， 以秒为单位。
    `void` | `setDuration(int duration)` | 设置语音消息的时长， 以秒为单位。
    `String` | `getBase64()` |
    `void` | `setBase64(String base64)` |
    `static SpeechToTextInfo` | `jsonToSpeechToTextInfo(String messageUId, String json)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### VoiceMessage

          VoiceMessage(Array<byte> data)

    - #### VoiceMessage

          VoiceMessage(Parcel in)

  - ### Method Detail

    - #### getSttInfo

           SpeechToTextInfo getSttInfo()

      获取语音转文本信息。（仅提供 get 方法）

      Since:

        5.22.0

    - #### setSttInfo

           void setSttInfo(SpeechToTextInfo sttInfo)

    - #### obtain

           static VoiceMessage obtain(Uri uri, int duration)

    - #### encode

           Array<byte> encode()

    - #### writeToParcel

           void writeToParcel(Parcel dest, int flags)

      将类的数据写入外部提供的 Parcel 中。

      Parameters:
        `dest` - 对象被写入的 Parcel。
        `flags` - 对象如何被写入的附加标志，可能是 0 或 PARCELABLE_WRITE_RETURN_VALUE。

    - #### describeContents

           int describeContents()

      描述了包含在 Parcelable 对象排列信息中的特殊对象的类型。

      Returns:

        一个标志位，表明 Parcelable 对象特殊对象类型集合的排列。

    - #### getUri

           Uri getUri()

      获取音频文件的 Uri。

      Returns:

        音频文件的 Uri（收消息情况下此为内部 Uri，需要通过 ResourceManager.getInstance().getFile(new Resource(Uri)) 方式才能获取到真实地址）。

    - #### setUri

           void setUri(Uri uri)

      设置音频文件的 Uri。

      Parameters:
        `uri` - 音频文件的 Uri。

    - #### getDuration

           int getDuration()

      获取语音消息的时长， 以秒为单位。

      Returns:

        语音消息的时长， 以秒为单位。

    - #### setDuration

           void setDuration(int duration)

      设置语音消息的时长， 以秒为单位。

      Parameters:
        `duration` - 语音消息的时长，以秒为单位。

    - #### getBase64

           String getBase64()

    - #### setBase64

           void setBase64(String base64)

    - #### jsonToSpeechToTextInfo

           static SpeechToTextInfo jsonToSpeechToTextInfo(String messageUId, String json)