- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图制作一个不和谐的钢琴机器人。下面我有分别播放两个音符 a 和 b 的命令。此代码有效,但无法重叠音频文件,或在运行另一个命令时取消播放音频文件。我收到错误:“discord.errors.ClientException:已经在播放音频。”这似乎很明显,但我认为它可能对上下文有用。
@commands.command()
async def a(self, ctx):
source = discord.FFmpegPCMAudio("A3.mp3")
ctx.voice_client.play(source)
@commands.command()
async def b(self, ctx):
source = discord.FFmpegPCMAudio("B3.mp3")
ctx.voice_client.play(source)
最佳答案
我不能就 discord.py 给你任何具体的建议,但我可以告诉你需要做什么,因为我过去在完全不同的环境中做过类似的事情(在互联网流媒体时代之前)。
首先,问题与 FFmpeg 无关,与 discord.py 如何处理音频播放有关。底线是您的错误表明每个 voice_client.play()
call 基本上占据了音频流,阻止你对流做任何其他事情,直到它完成播放它被指示播放的内容。
您需要的是一个音频混音器设备,它可以在将混音推送到音频流之前组合多个音频信号,以及音频设备接受来自混音器的流,从而实现无缝播放。
您可以查看 discord.py 以查看这些功能是否可用。流音频输入必须由库支持,但您可以围绕流机制实现自己的软件混音器。
另一种可能性是 MIDI。如果支持 MIDI,它可能会给你更好的控制但更陡峭的学习曲线。
关于python - 使用 FFmpegPCMAudio 在 Discord py 中播放多个音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71545079/
我正在用 python 开发一个可以播放音乐的 Discord 机器人。当我在我的计算机上进行测试时,所有工作都可以找到,但是当我将所有文件放到我的服务器中时,它就会停止工作。所以我尝试在另一台计算机
with youtube_dl.YoutubeDL(YDL_OPTIONS) as ydl: info = ydl.extract_info(url, download=False) awai
我正在尝试制作一个不和谐的音乐机器人,这是我的播放功能: async def play(self, ctx, url): ctx.voice_client.stop() FFMPEG_
我使用 discord.py 库制作了一个 Discord 机器人,该库旨在在多个语音 channel 中播放网络广播。基本上,每个 channel 的音频流都是相同的。 我现在正在做的是: voic
我试图制作一个不和谐的钢琴机器人。下面我有分别播放两个音符 a 和 b 的命令。此代码有效,但无法重叠音频文件,或在运行另一个命令时取消播放音频文件。我收到错误:“discord.errors.Cli
我是一名优秀的程序员,十分优秀!