javascript - 如何停止 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()
要停止歌曲,您可以播放队列中的下一首歌曲。但是,要做到这一点,您需要在函数之外将 dispatcher 定义为 null,这样您就可以在任何地方使用 dispatcher 变量。
let dispatcher;
在实际定义调度程序时,
dispatcher = connection.playStream(strea, streamOptions); // remove the keyword "const"
推荐阅读
- javascript - 通过js分页对thymeleaf网格中的数据进行排序
- javascript - 如果之前已经打开,则重定向到不同的页面
- python - 使用 Python 从网站下载所有 pdf 文件
- javascript - 如何在屏幕上打印我的 firebase 子参数的结果?
- javascript - 在 Angular 6 应用程序中,array.find 函数在数组中找不到现有元素
- c++ - 测量其他类功能的时间
- javascript - 从字符串中删除货币符号并使用 Javascript 中的单行转换为数字
- python - 如何知道两次点击之间的时间间隔(python和qtdesigner)
- cordova - 在 xhdpi 上调整科尔多瓦屏幕宽度
- reactjs - 我将“状态”设置为“0”。但是,“状态”中没有任何内容