我目前正在使用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.4
,opusscript@0.0.7
,@discordjs/opus@0.3.2
和ffmpeg-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的问题。
答案 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));
您可以尝试以这种方式播放音频文件,我已经对其进行了测试并且对我有用!