mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
Merge pull request #226 from petoem/indev
Add ability to pause and resume audio thats being played
This commit is contained in:
@@ -6,23 +6,23 @@ exports.__esModule = true;
|
||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||
|
||||
var TokenCacher = (function () {
|
||||
function TokenCacher() {
|
||||
_classCallCheck(this, TokenCacher);
|
||||
}
|
||||
function TokenCacher() {
|
||||
_classCallCheck(this, TokenCacher);
|
||||
}
|
||||
|
||||
TokenCacher.prototype.setToken = function setToken() {};
|
||||
TokenCacher.prototype.setToken = function setToken() {};
|
||||
|
||||
TokenCacher.prototype.save = function save() {};
|
||||
TokenCacher.prototype.save = function save() {};
|
||||
|
||||
TokenCacher.prototype.getToken = function getToken() {
|
||||
return null;
|
||||
};
|
||||
TokenCacher.prototype.getToken = function getToken() {
|
||||
return null;
|
||||
};
|
||||
|
||||
TokenCacher.prototype.init = function init(ind) {
|
||||
this.done = true;
|
||||
};
|
||||
TokenCacher.prototype.init = function init(ind) {
|
||||
this.done = true;
|
||||
};
|
||||
|
||||
return TokenCacher;
|
||||
return TokenCacher;
|
||||
})();
|
||||
|
||||
exports["default"] = TokenCacher;
|
||||
|
||||
@@ -85,6 +85,7 @@ var VoiceConnection = (function (_EventEmitter) {
|
||||
this.secret = null;
|
||||
|
||||
this.volume = new _VolumeTransformer2["default"]();
|
||||
this.paused = false;
|
||||
this.init();
|
||||
}
|
||||
|
||||
@@ -143,6 +144,11 @@ var VoiceConnection = (function (_EventEmitter) {
|
||||
this.playingIntent = retStream;
|
||||
|
||||
function send() {
|
||||
if (self.paused) {
|
||||
startTime += Date.now() - (startTime + count * length);
|
||||
setTimeout(send, length);
|
||||
return;
|
||||
}
|
||||
if (!self.playingIntent || !self.playing) {
|
||||
self.setSpeaking(false);
|
||||
retStream.emit("end");
|
||||
@@ -466,6 +472,18 @@ var VoiceConnection = (function (_EventEmitter) {
|
||||
this.lastVolume = undefined;
|
||||
};
|
||||
|
||||
VoiceConnection.prototype.pause = function pause() {
|
||||
this.paused = true;
|
||||
this.setSpeaking(false);
|
||||
this.playingIntent.emit("pause");
|
||||
};
|
||||
|
||||
VoiceConnection.prototype.resume = function resume() {
|
||||
this.paused = false;
|
||||
this.setSpeaking(true);
|
||||
this.playingIntent.emit("resume");
|
||||
};
|
||||
|
||||
return VoiceConnection;
|
||||
})(_events2["default"]);
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ export default class VoiceConnection extends EventEmitter {
|
||||
this.secret = null;
|
||||
|
||||
this.volume = new VolumeTransformer();
|
||||
this.paused = false;
|
||||
this.init();
|
||||
}
|
||||
|
||||
@@ -105,6 +106,11 @@ export default class VoiceConnection extends EventEmitter {
|
||||
this.playingIntent = retStream;
|
||||
|
||||
function send() {
|
||||
if(self.paused) {
|
||||
startTime += Date.now() - (startTime + count * length);
|
||||
setTimeout(send, length);
|
||||
return;
|
||||
}
|
||||
if (!self.playingIntent || !self.playing) {
|
||||
self.setSpeaking(false);
|
||||
retStream.emit("end");
|
||||
@@ -281,7 +287,7 @@ export default class VoiceConnection extends EventEmitter {
|
||||
}
|
||||
if (typeof options !== "object") {
|
||||
options = {};
|
||||
}
|
||||
}
|
||||
options.volume = options.volume !== undefined ? options.volume : this.getVolume();
|
||||
return new Promise((resolve, reject) => {
|
||||
this.encoder
|
||||
@@ -421,4 +427,16 @@ export default class VoiceConnection extends EventEmitter {
|
||||
this.setVolume(this.lastVolume);
|
||||
this.lastVolume = undefined;
|
||||
}
|
||||
|
||||
pause() {
|
||||
this.paused = true;
|
||||
this.setSpeaking(false);
|
||||
this.playingIntent.emit("pause");
|
||||
}
|
||||
|
||||
resume() {
|
||||
this.paused = false;
|
||||
this.setSpeaking(true);
|
||||
this.playingIntent.emit("resume");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user