mirai-api-http icon indicating copy to clipboard operation
mirai-api-http copied to clipboard

发送语音电脑端无法播放,手机端却可以

Open ByteTuxiaobei opened this issue 1 year ago • 1 comments

电脑端:

5d5557c1550063f59e1672ee38caf9ee

点击无法播放

手机端却可以正常播放

使用 Base64 传输语音,部分代码:

def wav_to_amr(input_wav, output_amr):
    os.system(f"sox {input_wav} -r 8000 -c 1 {output_amr}")
    with open(output_amr, 'rb') as f:
        audio = f.read()
    audio_base64 = base64.b64encode(audio)
    audio_str = audio_base64.decode('utf-8')
    return audio_str

voice_base64 = wav_to_amr('a.wav', 'b.amr-nb')
# {'type': 'Voice', 'base64': voice_base64}

ByteTuxiaobei avatar Feb 01 '24 16:02 ByteTuxiaobei

https://github.com/mamoe/mirai/blob/3a8003057a593601dfe5a6dac3477503e29fc8a7/mirai-core-api/src/commonMain/kotlin/contact/Group.kt#L155-L167

QQ原生的语言格式是 amr 或 silk

可以尝试安装扩展插件 https://github.com/project-mirai/mirai-silk-converter

cssxsh avatar Feb 01 '24 19:02 cssxsh