Python开发Discord音乐机器人:加入频道后无音频且进程终止
Discord机器人FFmpeg播放音频故障排查方案
核心问题定位
返回码2880417800(十六进制0xAA000008)通常指向FFmpeg路径解析错误、文件无法读取或参数配置冲突,和intents、本地防火墙(本地文件场景)无关。
分步排查与修复
修正FFmpeg路径格式
你写的"C\\ffmpeg\\ffmpeg.exe"存在转义错误,正确写法二选一:# 双反斜杠转义 executable="C:\\ffmpeg\\ffmpeg.exe" # 原始字符串(推荐) executable=r"C:\ffmpeg\ffmpeg.exe"简化参数测试本地文件
本地音频不需要重连参数,先剥离复杂配置做最小验证:voice_client = await msg.author.voice.channel.connect() print(voice_client.is_playing()) # 仅保留必要的视频禁用参数 FFMPEG_OPTIONS = {'options': '-vn'} # 指定正确的FFmpeg路径+绝对路径音频文件 voice_client.play(discord.FFmpegPCMAudio( source=r"C:\your\full\path\to\test.mp3", executable=r"C:\ffmpeg\ffmpeg.exe", **FFMPEG_OPTIONS ))验证FFmpeg本身可用性
打开命令提示符,执行以下命令确认FFmpeg正常工作:# 检查版本 ffmpeg -version # 测试音频解码(替换为你的文件路径) ffmpeg -i "C:\your\full\path\to\test.mp3" -f s16le -ar 48000 -ac 2 pipe:1如果命令报错,说明FFmpeg未正确安装或路径未加入环境变量,重新安装并确认环境变量生效后重启脚本。
排除防火墙影响
本地文件播放无需网络请求,防火墙不会拦截这类操作,可直接排除该因素。Intents确认
intents.all()已包含语音相关所有权限,这不是问题根源。
内容的提问来源于stack exchange,提问作者MrPwnageLegend
相关产品推荐
相关产品推荐

