discord.errors.ClientException: Already playing audio.

pythonでDiscordのbot をつくっているとき以下のようなエラーに当たったので、その解決法を記す。

discord.errors.ClientException: Already playing audio.

まず、自分の環境について

16.04.4 LTS on wsl on window10

python 3.9.5 on anaconda

discord.py を使用

エラーは

discord.errors.ClientException: Already playing audio.

Already playing audio とあるように、「すでに音声ファイルが再生されていますよ」

という意味。

1つの音声ファイルが再生中だとほかのファイルは再生できないようだ(あたりまえか...)。

そのため is_playing() を使って再生中かどうかを判断するとよい。

以下のような解決方法が良いと思う。

async def Talk(id):

    global client

    Guild = client.get_guild(id)

    while Guild.voice_client.is_playing():

        await asyncio.sleep(1)

    Guild.voice_client.play(discord.FFmpegPCMAudio("test.wav"))

        return


while で is_playing がFalse になるまでawait asyncio.sleep()で待機する方法。

上のコードは流れを書いたもので、実際のコードとは違う。

いろいろ書き足しがないと動かないことに注意。client とか その他も。



0コメント

  • 1000 / 1000