Python discord.py bot连接到语音频道,但OpusNotLoaded,并且discord.opus.load_opus()存在问题
我正在尝试将我的机器人连接到语音频道,然后播放mp3文件。Python discord.py bot连接到语音频道,但OpusNotLoaded,并且discord.opus.load_opus()存在问题,python,discord.py,opus,Python,Discord.py,Opus,我正在尝试将我的机器人连接到语音频道,然后播放mp3文件。 这是我的原始代码: @client.command(name='voice', case_insensitive=True) async def voice(context): channel = context.author.voice.channel await channel.connect() guild = context.guild voice_client: discord.Voice
这是我的原始代码:
@client.command(name='voice', case_insensitive=True)
async def voice(context):
channel = context.author.voice.channel
await channel.connect()
guild = context.guild
voice_client: discord.VoiceClient = discord.utils.get(client.voice_clients, guild=guild)
voice_client.play(discord.FFmpegPCMAudio('voices/bonjour.mp3', executable='/Users/rimelmallah/Desktop/Python/ffmpeg'), after=None)
我得到了这个错误:discord.opus.OpusNotLoaded
因此,我在最后一行之前添加了这行代码:discord.opus.load_opus()
当我这样做时,我遇到了以下错误:
TypeError:load\u opus()缺少1个必需的位置参数:“name”
所以我尝试将我的代码行修改为:discord.opus.load\u opus('opus')
这次我得到了以下错误:
OSError:dlopen(opus,6):找不到图像
我试图从以下链接安装Opus:但是它不起作用。说
name
是共享库的文件名。
。如果库与python文件不在同一目录中,则必须为函数load_opus()
提供确切的名称,可能还包括文件路径
该文件应被称为
libopus-0-x64.dll
然而,有一些事情需要注意。查看文档了解更多信息我更改了行:
discord.opus.load_opus('libopus-0.x64.dll')
(这是我mac上的文件名),但我遇到另一个错误:OSError:dlopen(libopus-0.x64.dll,6):找不到合适的图像。确实找到:libopus-0.x64.dll:未知文件类型,前八个字节:0x4D 0x5A 0x90 0x00 0x03 0x00 0x00/Users/rimemallah/Desktop/Python/projects/discord_bot/libopus-0.x64.dll:未知文件类型,前八个字节:0x4D 0x5A 0x90 0x00 0x00 0x03 0x00 0x00 0x00 0x00,.dll
对您没有多大帮助,因为它仅限于Windows。请确保您已安装opus库python3-m pip install-U“discord.py[voice]”
,并查看“谢谢”,该线程帮助我理解了这个问题。我只需要brew安装opus