Как воспроизвести MediaStream из Discord. js? - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь захватить MediaStream с веб-сайта и отправить его боту Discord на базе discord. js

На моем веб-сайте этот код для захвата входа микрофона (который работает)

  async function setup(audio) {
    const getDevice = await navigator.mediaDevices
      .getUserMedia(constraints)
      .then(stream => {

        if ("srcObject" in audio) {
          audio.srcObject = stream;
        }
        console.log("Got MediaStream:", stream);
        socket.emit("audio", function(data) {
          stream: stream;
        });
      })
  }

Бот выглядит следующим образом:

//Wait for the bot to run
client.once("ready", () => {

    io.on("connect", (socket) => {
        //Wait for the audio stream
        socket.on("audio", function (audio) {
            //Wait for bot to be called
            client.on("message", async function (message) {
                //Command for entering voice chat
                if (message.content.startsWith(`${prefix}enter`)) {
                    if (message.member.voice.channel) {
                        connection = await message.member.voice.channel.join().then(function (connection) {
                            const dispatcher = connection.play(audio.stream)
                        });
                    } else {
                        message.reply('We need you to be in the voice chat');
                    }
                } else if (message.content.startsWith(`${prefix}kick`)) {
                    client.leaveVoiceChannel(message.member.voiceState.channelID);
                }
            })


        })
    })
})

client.login(token)

Я получаю (node:20816) UnhandledPromiseRejectionWarning: Error [VOICE_PLAY_INTERFACE_BAD_TYPE]: Unknown stream type Я искал документацию, но это не так кажется, есть что-то, связанное с воспроизведением MediaStreams

Как я могу заставить бота воспроизводить MediaStream?

...