【问题标题】:Playing audio files with discord.py使用 discord.py 播放音频文件
【发布时间】:2021-06-05 19:36:44
【问题描述】:

我最近重新开始使用编码和 Python,并想了解如何制作一个不和谐的机器人。我已经设法发送消息并做一些基本的事情,但现在我不知道如何让它在语音频道中播放音频。

我可以让它随意加入和离开,但只要我尝试播放音乐,它就安静了。音频文件已下载,它与我的程序位于同一文件夹中。我没有收到任何错误,我只知道机器人有问题。音频文件不仅仅是静音,我已经检查过了。不知道怎么回事。

应该发生的是,当我调用机器人并且它加入我的 VC 时,它应该开始播放歌曲。

我的代码:

@client.command(aliases=['jvc'])
async def joinvc(ctx):
    voice_channel = ctx.message.author.voice.channel
    voice_client = discord.utils.get(client.voice_clients, guild=ctx.guild)
    if voice_client:
        if not voice_client.is_connected():
            await voice_channel.connect()
            voice_client.play(discord.FFmpegPCMAudio(executable='C:\\FFmpeg\\bin\\ffmpeg.exe', source='file.mp3'))
    else:
        await voice_channel.connect()
        voice_client = discord.utils.get(client.voice_clients, guild=ctx.guild)
        voice_client.play(discord.FFmpegPCMAudio(executable='C:\\FFmpeg\\bin\\ffmpeg.exe', source='file.mp3'))

对不起,如果代码不是很好,但这是我能想到的唯一不会出错的方法。如果我忘记了重要的事情或做错了什么,我也很抱歉,这是我第一次使用 StackOverflow。

【问题讨论】:

    标签: python-3.x discord.py


    【解决方案1】:

    记得添加ffmpeg到路径

    @client.command()
    async def thisisnotacommand(ctx):
        channel = ctx.author.voice.channel
        vc = await channel.connect()
        await ctx.send('Started playing: something')
        vc.play(discord.FFmpegPCMAudio('file.mp3'), after=lambda e: print('done', e))
    

    如果您不知道如何将 ffmpeg 添加到路径,请随时给我发消息Special unit#5323

    【讨论】:

    • 是的,我做到了,除了我把整个路径作为可执行文件。
    • 我可能会尝试播放另一个文件。据我了解,音频文件停止后显示错误或无,但对我来说,它只是等待一秒钟并说“完成无”
    • 尝试添加文件的完整路径
    猜你喜欢
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    • 2020-11-12
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多