Discord Music bot-我播放的歌曲在播放结束前10到20秒停止,因此我添加了highWaterMark,现在这首歌曲几乎无法播放

时间:2020-06-06 19:39:43

标签: javascript node.js discord discord.js

所以基本上我有this issue并得到了一个“解决方案”,但是它没有用,所以我找到了一个解决方法,那就是在代码中添加highWaterMark,这样流就可以保持打开状态更长或更长时间了,所以这是我的代码当前的样子

    const dispatcher = serverQueue.connection.play(ytdl(song.url, {
        filter:"audioonly",
        highWaterMark: 1<<25 })
        .on("finish", () => {
            const shiffed = serverQueue.songs.shift();
            if (serverQueue.loop === true) {
                serverQueue.songs.push(shiffed);
            };
            play(guild, serverQueue.songs[0]);
        })
        .on("error", error => console.error(error)));
    dispatcher.setVolume(serverQueue.volume / 100);

但是现在我的问题是这首歌会播放大约10秒钟然后停下来,我不知道为什么这会使我的问题更糟,因为对于我看到的每个使用此解决方案的人,它的效果都很好。请有人帮我解决我的问题,我得到了很多评论,但似乎没人愿意回答:/

3 个答案:

答案 0 :(得分:0)

最近更新了ytdl,您应该尝试在项目中运行快速npm update

此外,我尝试了this module,但问题似乎对我而言已经消失了。您可能还想确保项目中同时包含ffmpegffmpeg-static,我认为这可能有助于解决我的问题。

答案 1 :(得分:0)

您应该尝试安装Installation部分here

下的模块

答案 2 :(得分:0)

您可能想尝试将流的类型更改为opus:

serverQueue.connection.play(ytdl(song.url, { filter:"audioonly", type: 'opus' });