Discord.js无法在Ubuntu 18.04上播放mp3文件

时间:2020-01-10 15:09:15

标签: node.js discord discord.js

我在discord js中写了一个discord bot。我有一个命令可以在语音通道中播放mp3文件。

const connection = await channel.join();
const dispatcher = connection.playStream(fs.createReadStream('/absolute/path/to/file.mp3'), { type: 'ogg/opus', volume: true });

如果我在Windows PC上运行该机器人,则一切正常。机器人加入频道,播放文件然后再次离开。但是,如果我在Ubuntu 18.04 VM上运行该机器人,则该机器人会加入并立即断开连接,而不会播放文件。

mp3文件的路径是绝对路径。我已经尝试过使用connection.playFile(path)来解决相同的问题。我尝试使用opusscript,并且尝试使用node-opus。我已经通过apt安装了ffmpeg。 Node和npm在最新版本上运行。我也尝试使用discord.js的master分支仍然没有运气。我尝试删除所有内容并再次重新安装,但仍然无法正常工作。

1 个答案:

答案 0 :(得分:0)

从discord.js v12开始,您现在只能使用.play()方法 因此,您的解决方案应该是:

channel.join()
    .then(connection => {
        const stream = connection.play('/path/to/file.mp3');

        stream.on("finish", () => {
            channel.leave();
        });
    });