c++ Telegram Bot API answerInlineQuery将语音文件作为文档发送

bjp0bcyl  于 2023-04-08  发布在  其他
关注(0)|答案(1)|浏览(102)

我试图实现内联模式在电报机器人回答与语音消息列表.使用nginx服务.ogg文件编码OPUS和使用它们在voice_url在InlineQueryResultVoice.做了一些研究后,我发现它可以处理大小〉~ 8 KB的语音文件,但是较小的文件会作为文档发送,无法在Telegram客户端中播放(但它们仍然是正确的。ogg audios)。链接也可以在浏览器中播放。
我使用ffmpeg -i <mp3_file> -acodec libopus -b:a 48k -vbr on -compression_level 10 <ogg_file>从mp3转换。也尝试了opus-tools。
我在结果数组中发送的示例:

[{
"type":"voice",
"id":"m183802670825221348",
"title":"Something",
"voice_url":"https://<domain>/voice/m183802670825221348.ogg",
"duration":1
}, 
...]

我做错了什么?

nxowjjhe

nxowjjhe1#

subprocess.run(["ffmpeg", '-i', audio_path_mp3, '-vn', '-acodec', 'libopus', '-b:a', '16k', audio_path_ogg, '-y'], stderr=subprocess.PIPE)

我的朋友们都很高兴。

相关问题