在Python中播放电报语音消息文件

时间:2018-08-14 19:31:05

标签: python-3.x raspberry-pi telegram ogg python-telegram-bot

我正在尝试使用Python在树莓派扬声器上播放人们发送给我的机器人的声音消息。我已经能够将语音消息下载为 .ogg 文件,并通过firefox手动播放。

我正在使用pygame混音器,它应该能够播放 .ogg 文件。但是我只能播放 .mp3 文件。当我尝试播放声音消息 .ogg 文件时,出现此错误:

  

pygame.error:不是Ogg Vorbis音频流

我的声音代码:

from pygame import mixer

mixer.init()

def play(sound_file):
    mixer.music.load(sound_file)
    mixer.music.play()

Telegram-bot,使用python-telegram-bot

from telegram.ext import Updater, MessageHandler, Filters
import sound

updater = Updater(token='<token>')

dispatcher = updater.dispatcher

def voice_handler(bot, update):
    file = bot.getFile(update.message.voice.file_id)
    file.download('voice.ogg')
    sound.play('voice.ogg')


dispatcher.add_handler(MessageHandler(Filters.voice, voice_handler))

updater.start_polling()

0 个答案:

没有答案