当前位置: 首页 > 知识库问答 >
问题:

discord.js在Ubuntu 18.04上不播放mp3文件

松雅健
2023-03-14

我有一个不和谐的机器人写在不和谐的js。我有一个命令,在语音频道播放mp3文件。

const connection = await channel.join();
const dispatcher = connection.playStream(fs.createReadStream('/absolute/path/to/file.mp3'), { type: 'ogg/opus', volume: true });

如果我在我的windows pc上运行bot,一切都会正常工作。机器人加入频道,播放文件,然后再次离开。如果我在我的Ubuntu18.04虚拟机上运行bot,bot会在不播放文件的情况下加入并立即断开连接。

mp3文件的路径是绝对的。我已经尝试使用connection.play文件(路径)代替相同的问题。我尝试使用opuscript和我尝试使用node-opus。我有ffmpeg通过apt安装。Node和npm在最新版本上运行。我还尝试使用discord.js的主分支,但仍然没有运气。我试图删除所有内容并重新安装,但仍然不起作用。

共有1个答案

房学文
2023-03-14

关于不和。JSV12您现在只能使用。play()方法,因此您的解决方案应该是:

channel.join()
    .then(connection => {
        const stream = connection.play('/path/to/file.mp3');

        stream.on("finish", () => {
            channel.leave();
        });
    });
 类似资料:
  • 我正在创建一个带有背景音乐的应用程序。我试着在课堂上演奏那首音乐: 我试过了: 当我把它放在我的文件的根目录中并使用它时: 我得到这个错误:javax.sound.sampled。不受支持的AudioFileException:无法从输入URL获取音频输入流更新我尝试使用JavaFX: 但是我得到了错误: 此行中的错误:MediaPlayer Player=new MediaPlayer(媒体);

  • 我无法在我的MediaPlayer应用程序中运行某个特定的流。我知道该应用程序可以工作,但当我决定更改我的流媒体服务时,新的URL无法工作。将这个URL插入网络浏览器确实有效。以下是我的相关代码: 然后,在onPrepared()中: 这是我的LogCat(在装有Android 4.3的三星Galaxy Nexus上运行): 有什么想法吗? 编辑 我做了更多的挖掘,并为上面提供的链接设置了一个Ht

  • 当我使用MediaPlayer播放mp3文件时,系统会报告错误日志:。但是RealPlayer是正常的。 我发现它的错误只发生在更高的ROM版本。像4.0版本一样,它有错误。在2.3版中,它没有这个错误。 代码: 日志猫错误:

  • 我遵循了本教程:http://what-when-how.com/javafx-2/playing-audio-using-the-media-classes-javafx-2-part-1/ 我有相应的资源文件夹在相应的目录中。类文件,但我仍然不能播放音频。mp3文件与教程中的不同,但我也有一个. wav等效文件,发现JavaFX可以开箱播放*. wav文件,但不能播放mp3文件。怎么回事啊?

  • 标记为“good”的文件可以正确播放,而标记为“bad”的文件则不能。两个文件在同一个目录中;两个文件都使用音乐播放器播放;并且这两个文件都可以在Windows7机器上使用Python3.4和pygame。

  • 免责声明:我已经转发了这个问题,并删除了最初的问题,因为一个人给出了一个愚蠢的答案,降低了这个问题的可见性。 基本上,我正在将我的机器人迁移到discord.py的重写版本。 我正在测试机器人与前一个只有几个功能,现在我测试音频功能与on_voice_state_update()事件,机器人应该播放音频时,有人加入一个频道。 我写了这样的事件: 这段代码的作用是,检查用户是否加入了语音频道,加入了