Discord Bot加入语音频道后静音,如何解除静音播放MP3?
Discord Bot语音频道播放MP3无声音(静音状态)解决方法
通过代码强制取消Bot静音状态
即便你没在代码里设置静音,也可能出现Bot自动静音的情况,或是手动误操作导致静音。可以在连接语音频道后,主动取消静音:@client.event async def on_ready(): print(f'{client.user} is now running') channel = discord.utils.get(client.get_all_channels(), id=<vc id>) voice = await channel.connect() # 强制关闭自我静音 await voice.edit(self_mute=False) source = FFmpegPCMAudio('<filename>.mp3') player = voice.play(source)确认FFmpeg工具正常可用
FFmpegPCMAudio依赖FFmpeg才能处理音频文件,如果系统没安装FFmpeg或Python找不到它的路径,会导致音频无法输出,看起来像Bot静音:- Windows:从FFmpeg官网下载后,将其添加到系统环境变量中;Linux用包管理器安装(如
apt install ffmpeg);Mac用Homebrew安装(brew install ffmpeg)。 - 如果仍有问题,初始化时指定FFmpeg的绝对路径:
source = FFmpegPCMAudio('<filename>.mp3', executable='/usr/bin/ffmpeg')
- Windows:从FFmpeg官网下载后,将其添加到系统环境变量中;Linux用包管理器安装(如
重新校验频道权限细节
除了语音发言权限,还要确保Bot拥有:- 语音频道的「连接」权限
- 频道的「发言」权限
- 检查频道的权限覆盖设置,有没有单独限制该Bot角色的语音权限
排查音频文件问题
确认<filename>.mp3的路径正确(相对路径需和Bot脚本在同一目录,或直接用绝对路径),且文件本身无损坏——用本地播放器打开验证是否有声音。
内容的提问来源于stack exchange,提问作者hmood
相关产品推荐
相关产品推荐

