如何停止ytdl流?

问题描述

如果有人键入-skip或类似的内容,如何停止ytdl流?我像这样开始视频流:

search(searchfor,opts,function(err,results) {
    var rasss = results[0].link;
    const streamOptions = { seek: 0,volume: 1 };
    var voiceChannel = msg.member.voiceChannel;
    voiceChannel.join().then(connection => {
        const stream = ytdl(rasss,{ filter : 'audioonly' });
        const dispatcher = connection.playStream(stream,streamOptions);

解决方法

你可以做

dispatcher.destroy()

要停止播放歌曲,则可以播放队列中的下一首歌曲。但是,为此,您需要在函数外部将调度程序定义为null,以便可以在任何地方使用调度程序变量。

let dispatcher;

在实际定义调度程序时,

dispatcher = connection.playStream(strea,streamOptions); // remove the keyword "const"