discord - discord.py 如何在不和谐的语音频道中播放特定的 mp3(或特定的 youtube 视频)?
问题描述
现在请记住,我是初学者,所以我不确定如何解决这个问题,而且许多教程都是预先重写的。任何帮助深表感谢!
解决方案
为了播放 mp3 文件,您必须确保从此处的链接下载FFMPEG。安装并提取后,将其添加到您的路径
添加到路径的说明 控制面板-->系统-->高级-->环境变量-->系统变量-->路径-->然后在刚才下载的文件中添加bin文件。
一旦你安装了它,你必须在你的代码中创建一个 VoiceClient 对象。有多种方法可以做到这一点。一个(我使用过的)是使用该函数channel.connect()
加入频道并返回一个 VoiceClient 对象。一旦你有了一个连接客户端对象,你就可以使用这个函数VoiceClient.play()
。参数(在此处找到)接受音频源。这就是 FFMPEG 的用武之地。在参数 -->VoiceClient.play(discord.FFmpegPCMAudio("myAudioFile.mp3"))
中。
如果此行在查找 FFMPEG 时遇到问题,您可以像这样插入可执行文件的路径 -->VoiceClient.play(discord.FFmpegPCMAudio( executable = "C:/ffmpeg/bin/ffmpeg.exe" , source = "myAudioFile.mp3"))
请注意,executable
字符串和source
字符串会因您的 FFMPEG 位置以及您的 mp3 文件位置而异
这就是在函数中使用示例代码时的样子on_voice_state_update
:
@bot.event
async def on_voice_state_update(member,before,after):
VC = await after.channel.connect()
VC.play(discord.FFmpegPCMAudio("MyAudioFile.mp3"))
推荐阅读
- react-native - 调试反应原生项目
- android-studio - 启动 Androir Studio 3.0.1 时出现模拟器错误
- php - 点击广告后如何在页面上发送用户
- java - Jersey Http Server:为每个 http 方法添加参数
- netlogo - Netlogo:[ifelse] 命令/预期命令
- haskell - 为什么我不能在 Stack 项目中使用 Text.Regex?
- javascript - 动态创建多维javascript对象
- python - 如何在转换为 Dataframe 之前展平复杂的 json
- c# - 带有 ASP.NET Core 2.2 的 Razor 页面中的嵌套/子区域
- maven - 未生成黄瓜报告