我正在尝试通过 SendVoice 方法发送语音消息,但它将语音作为简单的 ogg 文件发送(不可播放)。
https://api.telegram.org/bot<token>/sendVoice?chat_id=x&voice=http://majidamiri.com/up/5.ogg
Run Code Online (Sandbox Code Playgroud)
在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 链接: 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
Run Code Online (Sandbox Code Playgroud)
在 Android 和 Telegram 网络上进行了测试。