【问题标题】:Unknown issue with Discord.js and ytdl, completely skips playing audioDiscord.js 和 ytdl 的未知问题,完全跳过播放音频
【发布时间】:2017-11-21 10:06:12
【问题描述】:

我的 Discord 机器人命令之一是在当前用户的语音频道中播放预定义的音乐剪辑。机器人可以连接,但不是播放歌曲,而是立即离开。我试过同时使用connection.playStreamconnection.playFile,两者似乎都返回了相同的(缺少)输出。我是否缺少某种依赖关系,或者我的代码是否写错了?任何帮助将不胜感激!

const Discord = require('discord.js');
const ytdl = require('ytdl-core');
const client = new Discord.Client();
const streamOptions = { seek: 0, volume: 1};

client.on('ready', () => {
  console.log('Login Success');
});

client.on('message', message => {
  if (message.content === '$vaporwave') {
    if (!message.guild) return;
    if(message.member.voiceChannel) {
      message.member.voiceChannel.join().then(connection => {
        console.log("joined channel");
        //const stream = ytdl('https://www.youtube.com/watch?v=cU8HrO7XuiE', { filter : 'audioonly' });
        const dispatcher = connection.playFile('./mcp420.mp3');
        //const dispatcher = connection.playStream(stream, streamOptions);
        dispatcher.on("end", end => {
          console.log("left channel");
          message.member.voiceChannel.leave();
        });
      }).catch(err => console.log(err));
    }
  }
});
  • NPM v4.6.1
  • Node.js v8.9.1
  • FFMPEG v3.2.8-1

【问题讨论】:

    标签: javascript node.js ffmpeg discord discord.js


    【解决方案1】:

    通过使用dispatcher.on('error', console.error);,我发现我的主机上没有安装sodium,并且在文件播放过程中导致错误。现在工作正常。

    【讨论】:

      猜你喜欢
      • 2018-04-13
      • 2021-12-06
      • 2017-12-28
      • 1970-01-01
      • 1970-01-01
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多