Meta
Quiero poder reproducir archivos de audio más largos con mi bot de discordia.
Código de trabajo
Usando Discord.js y Node.js, he creado un bot de discordia. Hasta ahora, mi código puede unirse a una llamada de voz y solo puede reproducir archivos de audio muy cortos <50 KB. Lo cual es genial, además de la parte del archivo corto.
Proceso de prueba: para probar diferentes archivos de audio, simplemente reemplazo la ruta, durante la creación del recurso, para que sea el archivo de audio deseado.
¡He probado 5 archivos cortos y funciona muy bien! Pero los tres archivos largos >~75KB que tengo no funcionan. No aparece ningún error, simplemente no se reproduce.
const { SlashCommandBuilder } = require('@discordjs/builders'); const { joinVoiceChannel } = require('@discordjs/voice'); const { createAudioPlayer , createAudioResource, StreamType} = require('@discordjs/voice'); const { createReadStream } = require('node:fs'); const { join } = require('node:path'); const { VoiceConnectionStatus, AudioPlayerStatus } = require('@discordjs/voice'); module.exports = { data: new SlashCommandBuilder() .setName('jensenrage') .setDescription('Joins channel and plays jensen\'s rage'), async execute(interaction){ const { joinVoiceChannel } = require('@discordjs/voice'); const channel = interaction.member.voice.channel const connection = joinVoiceChannel({ channelId: channel.id, guildId: channel.guild.id, adapterCreator: channel.guild.voiceAdapterCreator, }); const resource = createAudioResource(createReadStream(join(__dirname, '../AudioFiles/short.mp3')), { inlineVolume : true }); resource.volume.setVolume(0.2); const player = createAudioPlayer(); connection.subscribe(player); player.play(resource) await interaction.reply( "Enjoy!") } }He investigado por qué sucede esto, pero la mayoría de las respuestas no explican por qué se reproducen los archivos cortos pero no los largos.
Supongo que esta línea es el problema, pero no estoy seguro de por qué.
const resource = createAudioResource(createReadStream(join(__dirname, '../AudioFiles/short.mp3')), { inlineVolume : true });Estas son mis dependencias
-------------------------------------------------- Core Dependencies - @discordjs/voice: 0.8.0 - prism-media: 1.3.2 - prism-media: 1.3.2 Opus Libraries - @discordjs/opus: 0.5.3 - opusscript: 0.0.8 Encryption Libraries - sodium: not found - libsodium-wrappers: 0.7.10 - tweetnacl: not found FFmpeg - version: 4.4.1-essentials_build-www.gyan.dev - libopus: yes