【发布时间】:2019-10-20 05:59:26
【问题描述】:
我正在开发一个 Telegram 机器人,我有一个关于 sendvoice API 发送语音(音频)消息的问题。
我推送一个从MP3源文件转换而来的OGG文件,使用ffmpeg进行转换,命令如下:
$ ffmpeg -loglevel panic -i \
/path/to/la_piattaforma_telegram_è_perfetta.mp3 \
-c:a libopus -compression_level 10 -frame_duration 60 -vbr on -application voip \
/path/to/la_piattaforma_telegram_è_perfetta.ogg -y
顺便说一句,MIME 类型显示正确:
$ file --mime-type -b \
/path/to/la_piattaforma_telegram_è_perfetta.ogg
audio/ogg
音频文件按预期正确播放,但我遇到的(小)问题是电报客户端(桌面/安卓/任何)不显示“波形”(音频频谱图,如下图蓝色小部件中所示),而是将波形可视化为一条线。
知道如何显示波形图吗?是否需要任何特定的 OPUS 格式才能实现良好的可视化?
$ mediainfo /path/to/la_piattaforma_telegram_è_perfetta.ogg
General
Complete name : /path/to/la_piattaforma_telegram_è_perfetta.ogg
Format : Ogg
File size : 5.37 KiB
Duration : 2 s 79 ms
Overall bit rate : 21.2 kb/s
Audio
ID : 1485113069 (0x588506ED)
Format : Opus
Duration : 2 s 79 ms
Channel(s) : 1 channel
Channel positions : Front: C
Sampling rate : 16.0 kHz
Compression mode : Lossy
Writing library : libopus unknown-fixed
缺少波形可视化可能是因为音轨是单声道(1 声道)?
【问题讨论】:
-
您好,我也有同样的问题,您能解决这个问题吗?谢谢,
-
不 :( 我认为那是因为音轨是单声道的。对我来说这是一个 TG API 错误。
标签: api bots telegram waveform ogg