1
0
mirror of https://github.com/mamoe/mirai.git synced 2025-04-25 04:50:26 +08:00

Add send silk format voice support, fix typo.

This commit is contained in:
yyuueexxiinngg 2020-08-18 00:53:48 +08:00
parent c6a92d978e
commit c848ab2146
3 changed files with 12 additions and 5 deletions
mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/contact
mirai-core/src
commonMain/kotlin/net.mamoe.mirai/contact
jvmMain/kotlin/net/mamoe/mirai/message

View File

@ -449,7 +449,7 @@ internal class GroupImpl(
* 上传一个语音消息以备发送.
* 请注意这是一个实验性api且随时会被删除
* @throws EventCancelledException 当发送消息事件被取消
* @throws OverFileSizeMaxException 图片文件过大而被服务器拒绝上传时. (最大大小约为 1 MB)
* @throws OverFileSizeMaxException 语音文件过大而被服务器拒绝上传时. (最大大小约为 1 MB)
*/
@JvmSynthetic
@MiraiExperimentalAPI
@ -460,9 +460,16 @@ internal class GroupImpl(
throw OverFileSizeMaxException()
}
val md5 = MiraiPlatformUtils.md5(content)
val codec = with(content.copyOfRange(0, 10).toUHexString("")) {
when {
startsWith("2321414D52") -> 0 // amr
startsWith("02232153494C4B5F5633") -> 1 // silk V3
else -> 0 // use amr by default
}
}
return bot.network.run {
val response: PttStore.GroupPttUp.Response.RequireUpload =
PttStore.GroupPttUp(bot.client, bot.id, 0L, md5, content.size.toLong()).sendAndExpect()
PttStore.GroupPttUp(bot.client, bot.id, 0L, md5, content.size.toLong(), codec).sendAndExpect()
HighwayHelper.uploadPttToServers(
bot,
response.uploadIpList.zip(response.uploadPortList),

View File

@ -175,7 +175,7 @@ public abstract class Group : Contact(), CoroutineScope {
/**
* 上传一个语音消息以备发送.
* 请手动关闭输入流
* 请使用mar格式
* 请使用amr或silk格式
* 请注意这是一个实验性api且随时会被删除
* @throws EventCancelledException 当发送消息事件被取消
* @throws OverFileSizeMaxException 当图片文件过大而被服务器拒绝上传时. (最大大小约为 1 MB)

View File

@ -119,9 +119,9 @@ public suspend fun File.uploadAsImage(contact: Contact): Image {
}
/**
* [Dispatchers.IO] 中将文件作为语音上传后构造 [Image]
* [Dispatchers.IO] 中将文件作为语音上传后构造 [Voice]
* 请手动关闭输入流
* 请使用mar格式
* 请使用amr或silk格式
* 注意这只是个实验性功能且随时可能会删除
* @throws OverFileSizeMaxException
*/