OfflineAudio

interface OfflineAudio : Audio

离线语音消息.

OfflineAudio 仅拥有协议上必要的五个属性:

OfflineAudio 可由本地 ExternalResource 经过 AudioSupported.uploadAudio 上传到服务器得到, 故无下载链接.

OfflineAudio 同时还可以用做自定义构造 Audio 实例, 使用 OfflineAudio.Factory.create 可通过上述五个必要参数获得 OfflineAudio 实例.

序列化支持

OfflineAudio 支持序列化. 可使用 MessageChain.serializeToJsonString 以及 MessageChain.deserializeFromJsonString. 也可以在 MessageSerializers.serializersModule 获取到 OfflineAudioKSerializer.

要获取更多有关序列化的信息, 参阅 MessageSerializers.

不建议自行实现该接口

OfflineAudio 不稳定, 将来可能会增加新的抽象属性或方法而导致不兼容. 仅可以使用该接口而不能继承或实现它.

Since

2.7

Types

Factory
Link copied to clipboard
interface Factory
Key
Link copied to clipboard
object Key : AbstractPolymorphicMessageKey<Audio, OfflineAudio>

Functions

contentEquals
Link copied to clipboard
open fun contentEquals(another: String, ignoreCase: Boolean = false): Boolean

判断内容是否与 another 相等.

open fun contentEquals(another: Message, ignoreCase: Boolean = false): Boolean

判断内容是否与 another 相等即 thisanothercontentToString 相等.

open fun contentEquals(another: Message, ignoreCase: Boolean = false, strict: Boolean = false): Boolean

判断内容是否与 another 相等即 thisanothercontentToString 相等. stricttrue 时, 还会额外判断每个消息元素的类型, 顺序和属性. 如 Image 会判断 Image.imageId

contentToString
Link copied to clipboard
open override fun contentToString(): String

转为最接近官方格式的字符串. 如 At(member) + "test" 将转为 "@群名片 test".

followedBy
Link copied to clipboard
open fun followedBy(tail: Message): MessageChain

thistail 连接.

plus
Link copied to clipboard
open operator fun plus(another: Array<out Message>): MessageChain

another 按顺序连接到这个消息的尾部.

open operator fun plus(another: CharSequence): MessageChain

another 作为 PlainText 连接到这个消息的尾部.

open operator fun plus(another: String): MessageChain

another 作为 PlainText 连接到这个消息的尾部.

open operator fun plus(another: Iterable<String>): MessageChain

another 按顺序连接到这个消息的尾部.

open operator fun plus(another: Iterable<Message>): MessageChain

another 按顺序连接到这个消息的尾部.

open operator fun plus(another: Sequence<Message>): MessageChain

another 按顺序连接到这个消息的尾部.

open operator fun plus(another: Message): MessageChain

another 按顺序连接到这个消息的尾部.

open operator fun plus(another: MessageChain): MessageChain

another 按顺序连接到这个消息的尾部.

open operator fun plus(another: SingleMessage): MessageChain

another 连接到这个消息的尾部.

toString
Link copied to clipboard
abstract override fun toString(): String

Properties

codec
Link copied to clipboard
abstract val codec: AudioCodec

编码方式.

extraData
Link copied to clipboard
abstract val extraData: ByteArray?

文件的额外数据. 该数据由服务器提供, 可能会影响语音音质等属性. extraDatanull 时也可以发送语音, 但不确定发送和客户端收听是否会正常.

fileMd5
Link copied to clipboard
abstract val fileMd5: ByteArray

文件 MD5. 16 bytes.

filename
Link copied to clipboard
abstract val filename: String

文件名称. 通常为 XXX.amr. 服务器要求文件名后缀必须为 ".amr", 但其编码方式也有可能是非 AudioCodec.AMR.

fileSize
Link copied to clipboard
abstract val fileSize: Long

文件大小 bytes. 官方客户端支持最大文件大小约为 1MB, 过大的文件可能可以正常上传, 但在官方客户端无法收听 (显示文件损坏).