mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-18 12:33:30 +01:00
Updated voice connection
This commit is contained in:
@@ -11,9 +11,11 @@ var ffmpeg = require('fluent-ffmpeg');
|
|||||||
var AudioEncoder = require("./AudioEncoder.js");
|
var AudioEncoder = require("./AudioEncoder.js");
|
||||||
var VoicePacket = require("./VoicePacket.js");
|
var VoicePacket = require("./VoicePacket.js");
|
||||||
var StreamIntent = require("./StreamIntent.js");
|
var StreamIntent = require("./StreamIntent.js");
|
||||||
|
var EventEmitter = require("events");
|
||||||
|
|
||||||
class VoiceConnection {
|
class VoiceConnection extends EventEmitter{
|
||||||
constructor(channel, client, session, token, server, endpoint) {
|
constructor(channel, client, session, token, server, endpoint) {
|
||||||
|
super();
|
||||||
this.voiceChannel = channel;
|
this.voiceChannel = channel;
|
||||||
this.client = client;
|
this.client = client;
|
||||||
this.session = session;
|
this.session = session;
|
||||||
@@ -56,14 +58,12 @@ class VoiceConnection {
|
|||||||
self.playingIntent = retStream;
|
self.playingIntent = retStream;
|
||||||
|
|
||||||
function send() {
|
function send() {
|
||||||
if (self.playingIntent && self.playingIntent !== retStream) {
|
if (!self.playingIntent) {
|
||||||
console.log("ending it!");
|
|
||||||
self.setSpeaking(false);
|
self.setSpeaking(false);
|
||||||
retStream.emit("end");
|
retStream.emit("end");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
|
||||||
var buffer = stream.read(1920);
|
var buffer = stream.read(1920);
|
||||||
|
|
||||||
if (!buffer) {
|
if (!buffer) {
|
||||||
@@ -146,7 +146,7 @@ class VoiceConnection {
|
|||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
self.playing = false;
|
self.playing = false;
|
||||||
console.log("etype", e.stack);
|
self.emit("error", e);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -211,7 +211,6 @@ class VoiceConnection {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log("success!!!");
|
|
||||||
vWS.send(JSON.stringify(wsDiscPayload));
|
vWS.send(JSON.stringify(wsDiscPayload));
|
||||||
firstPacket = false;
|
firstPacket = false;
|
||||||
}
|
}
|
||||||
@@ -247,16 +246,15 @@ class VoiceConnection {
|
|||||||
var udpPacket = new Buffer(70);
|
var udpPacket = new Buffer(70);
|
||||||
udpPacket.writeUIntBE(data.d.ssrc, 0, 4);
|
udpPacket.writeUIntBE(data.d.ssrc, 0, 4);
|
||||||
udpClient.send(udpPacket, 0, udpPacket.length, data.d.port, self.endpoint, err => {
|
udpClient.send(udpPacket, 0, udpPacket.length, data.d.port, self.endpoint, err => {
|
||||||
console.log("err", err);
|
if(err)
|
||||||
|
self.emit("error", err)
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
|
|
||||||
self.ready = true;
|
self.ready = true;
|
||||||
self.mode = data.d.mode;
|
self.mode = data.d.mode;
|
||||||
console.log("ready!!!");
|
self.emit("ready", self);
|
||||||
|
|
||||||
self.test();
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user