Telegram API SendVoice 方法将语音作为文件发送

Telegram API SendVoice method sends voice as file

我正在尝试通过 SendVoice 方法发送语音消息,但它将语音作为简单的 ogg 文件(不可播放)发送。

https://api.telegram.org/bot<token>/sendVoice?chat_id=x&voice=http://majidamiri.com/up/5.ogg

Telegram API SendVoice 中指出文件应为 .ogg opus 格式,因此我使用以下代码通过 ffmpeg 将 mp3 文件转换为 opus ogg :

<?php $myConvert = exec('ffmpeg.exe -i 1.mp3 -acodec libopus -b:a 64k -vbr off -compression_level 10 5.ogg'); ?>

再次像之前一样将其作为文件发送。

我的 ogg Link : https://majidamiri.com/up/5.ogg

你能帮我解决这个问题吗?

谢谢大家。

在 Telegram 支持的帮助下,我终于完成了这项工作。这是一个包含所有需要的标志的示例:

ffmpeg -i test.mp3 -ac 1 -map 0:a -codec:a opus -b:a 128k -vbr off -ar 24000 test.ogg

已在 Android 和 Telegram 网络上测试。