提问者:小点点

discord.js在Ubuntu 18.04上不播放mp3文件


我有一个不和谐的机器人写在不和谐的js。我有一个命令,在语音频道播放mp3文件。

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

如果我在我的windows pc上运行bot,一切都会正常工作。机器人加入频道,播放文件,然后再次离开。如果我在我的Ubuntu18.04虚拟机上运行bot,bot会在不播放文件的情况下加入并立即断开连接。

mp3文件的路径是绝对的。我已经尝试使用connection.play文件(路径)代替相同的问题。我尝试使用opuscript和我尝试使用node-opus。我有ffmpeg通过apt安装。Node和npm在最新版本上运行。我还尝试使用discord.js的主分支,但仍然没有运气。我试图删除所有内容并重新安装,但仍然不起作用。


共1个答案

匿名用户

关于不和。JSV12您现在只能使用。play()方法,因此您的解决方案应该是:

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

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