discord bot没有声音

Posted

技术标签:

【中文标题】discord bot没有声音【英文标题】:No sound emitted from discord bot 【发布时间】:2020-09-12 17:50:44 【问题描述】:

我目前正在使用 Discord.js v12(Ubuntu 20.04,Node.js v14.0.0),但我无法播放任何声音。

示例代码(voice_connection 指定docs 中定义的 VoiceConnection 实例):

const ytdl = require("ytdl-core-discord");
...
const data = await ytdl(/* some youtube url */,  filter: "audioonly" );
const dispatcher = voice_connection.play(data);

我已经安装了ffmpeg@0.0.4opusscript@0.0.7@discordjs/opus@0.3.2ffmpeg-static@4.0.1

此外,在监听调度员的debug 事件时,我在运行代码大约 10 秒后收到以下错误:

Error: ffmpeg stream: write EPIPE
    at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:92:16) 
  errno: -32,
  code: 'EPIPE',
  syscall: 'write'

最终目标是:修复机器人不播放任何声音、本地文件或远程 URL 的问题。

【问题讨论】:

【参考方案1】:
const channel = message.member.voice.channel;
    channel.join().then(connection => 
        const dispatcher = connection.play(path.join(__dirname + 'path.mp3'));
        dispatcher.on('speaking', speaking => 
            if(!speaking) channel.leave();
        );
    ).catch(err => console.log(err));

你可以尝试用这种方式播放音频文件,我已经测试过了,它适合我!

【讨论】:

以上是关于discord bot没有声音的主要内容,如果未能解决你的问题,请参考以下文章

如何让基于 Python 的 Discord Bot 随机播放不同的声音?

Discord.js 播放声音文件但没有声音出来

discord.js 机器人播放音频但没有声音?

discord.js 机器人在没有声音的情况下播放音频

为啥我的 discord.py 机器人在 Heroku 上托管时没有声音?

Discord.py music_cog,机器人加入频道但不播放声音