javascript - "Error: Couldn' t 找不到 Opus 引擎。”尝试播放 mp3 文件时 (discord.js)

标签 javascript discord.js

我正在使用 Heroku 托管我的应用程序,其中有以下代码:

if (isReady && message.content === '!play')
{
    isReady = false;
    var voiceChannel = message.member.voiceChannel;
    voiceChannel.join().then(connection =>
    {
        const dispatcher = connection.playFile('./BRODYQUEST.mp3');
        dispatcher.on("end", end => {
            voiceChannel.leave();
        });
    }).catch(err => console.log(err));
    isReady = true;
}

当我输入命令时,机器人会加入我的 channel ,但不会播放任何音乐。我在控制台中收到此错误:

2018-04-29T07:00:49.053720+00:00 app[worker.1]: Error: Couldn't find an Opus engine.

2018-04-29T07:00:49.053738+00:00 app[worker.1]:     at Object.exports.guaranteeOpusEngine (/app/node_modules/discord.js/src/client/voice/opus/OpusEngineList.js:30:31)

2018-04-29T07:00:49.053739+00:00 app[worker.1]:     at AudioPlayer.playUnknownStream (/app/node_modules/discord.js/src/client/voice/player/AudioPlayer.js:87:18)

2018-04-29T07:00:49.053741+00:00 app[worker.1]:     at VoiceConnection.playFile (/app/node_modules/discord.js/src/client/voice/VoiceConnection.js:448:24)

2018-04-29T07:00:49.053742+00:00 app[worker.1]:     at voiceChannel.join.then.connection (/app/bot.js:71:40)

2018-04-29T07:00:49.053744+00:00 app[worker.1]:     at <anonymous>

2018-04-29T07:00:49.053745+00:00 app[worker.1]:     at process._tickCallback (internal/process/next_tick.js:188:7)

最佳答案

为了运行此程序,您需要安装ytdl-core

npm install --save ytdl-core

如果您收到“OPUS_ENGINE_MISSING”错误,您需要安装 Discord.js 推荐的 opus 软件包之一。

npm install --save node-opus

如果您收到“找不到 FFMPEG”的错误,可以通过安装 ffmpeg 来解决。

在 Debian/Ubuntu 上:

sudo apt-get install ffmpeg

在 Windows 上:

npm install ffmpeg-binaries --save

此外,有报告称,通过 Windows 10 提供的 Ubuntu 子系统以这种方式播放音频不起作用。

关于javascript - "Error: Couldn' t 找不到 Opus 引擎。”尝试播放 mp3 文件时 (discord.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50084208/

相关文章:

javascript - 用ajax替换div内容

javascript - RefreshControll 数据重复每次都在 React native 中拉动以刷新 ScrollView

javascript - Ui.Router使用lazyLoad导入JS文件,但按钮失去功能

node.js - Discord.js 将中型帖子发送到 Discord channel

discord.js - 我怎样才能让机器人自聋呢?

javascript - Discord bot TypeError : client. guilds.forEach 不是函数

Javascript DOM编码的html代码问题

javascript - 抓取 HTML 和 JavaScript

javascript - 检查邀请时如下

javascript - 如何从 Heroku 应用程序中提取更新的文件?