Сломана спектрограмма аудиосообщения при отправке через telegram.bot C#

Рейтинг: 1Ответов: 0Опубликовано: 21.01.2023

Пытаюсь отправить голосовое сообщение через API Telegram.bot. Сообщение приходит, но вместо спектрограммы просто ровная полоса. Не понимаю как исправить. Аудио длинное, 18 минут.

Небольшая заметка. В качестве опыта я сконвертировал тот же мп3 в м4а, добавил к себе в приложение диктофон на айфоне, а затем из диктофона отправил в телеграм - все замечательно работает. Аудио с рабочей спектрограммой, но из апи не хочет почему-то.

Дополнение 1. Обнаружил, что если в телеграм нажать ПКМ по плоской записи и Сохранить как..., то после скачивания файла волны обновляются и все выглядит как нужно. Но как обновить волны при попадании в чат?

Дополнение 2. тут ответили, что это норм, так как сервак не обрабатывает аудиоформы сам, мол, надо самому обрабатывать спектрограмму. Если есть какие-то подсказки как это сделать - буду рад.

Аудио конвертировал из мп3 в огг опусом, этой командой

ffmpeg -i test.mp3 -ac 1 -map 0:a -strict -2 -acodec libopus -b:a 128k -ar 24000 audio.ogg

А вот код собственно:

 if (message.Text.ToLower().Contains("здорова"))
    {
        await using Stream stream = System.IO.File.OpenRead(@"C:\Users\magrega\YandexDisk\проги\audio.ogg");
        await client.SendVoiceAsync(
            chatId: message.Chat.Id,
            voice: stream!,
            duration: 1097);
       
        return;
    }

введите сюда описание изображения

Ответы

Ответов пока нет.