不和谐机器人发出的声音没有

时间:2020-05-26 01:57:59

标签: node.js discord.js

我目前正在使用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 个答案:

答案 0 :(得分:0)

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));

您可以尝试以这种方式播放音频文件,我已经对其进行了测试并且对我有用!