discord.js无法播放音频文件
我正在尝试播放音频文件,但是由于某种原因,它没有播放任何内容,它是在机器人连接到语音通道后立即触发end
事件而不是start
事件。
client.on('message', message => {
if(message.content.startsWith('!play')) {
if(!message.member.voiceChannel) return message.channel.send('connect to voice channel first');
message.member.voiceChannel.join()
.then(connection => {
console.log("Joined voice channel!");
const dispatcher = connection.playFile(require("path").join(__dirname, './myfile.mp3'));
dispatcher.on('start', () => { //not working
dispatcher.setVolume(0.70);
console.log("Playing");
});
dispatcher.on('error', (err) => console.log(err)); //no errors
dispatcher.on('end', end => { //working fine
console.log("Finished");
console.log("End: " + end);
message.member.voiceChannel.leave()
});
});
}});
回答如下:如文档所述:https://discord.js/#/docs/main/stable/class/VoiceConnection?scrollTo=playFile文件的路径必须为绝对路径。
解决此问题:
您可以使用模块path
(无需下载)和全局__dirname来获取绝对路径。
const dispatcher = connection.playFile(require("path").join(__dirname, './myfile.mp3'));
discord.js无法播放音频文件
我正在尝试播放音频文件,但是由于某种原因,它没有播放任何内容,它是在机器人连接到语音通道后立即触发end
事件而不是start
事件。
client.on('message', message => {
if(message.content.startsWith('!play')) {
if(!message.member.voiceChannel) return message.channel.send('connect to voice channel first');
message.member.voiceChannel.join()
.then(connection => {
console.log("Joined voice channel!");
const dispatcher = connection.playFile(require("path").join(__dirname, './myfile.mp3'));
dispatcher.on('start', () => { //not working
dispatcher.setVolume(0.70);
console.log("Playing");
});
dispatcher.on('error', (err) => console.log(err)); //no errors
dispatcher.on('end', end => { //working fine
console.log("Finished");
console.log("End: " + end);
message.member.voiceChannel.leave()
});
});
}});
回答如下:如文档所述:https://discord.js/#/docs/main/stable/class/VoiceConnection?scrollTo=playFile文件的路径必须为绝对路径。
解决此问题:
您可以使用模块path
(无需下载)和全局__dirname来获取绝对路径。
const dispatcher = connection.playFile(require("path").join(__dirname, './myfile.mp3'));