如何停止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"

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...