mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-15 19:13:31 +01:00
errory voice
This commit is contained in:
15
src/client/voice/opus/BaseOpusEngine.js
Normal file
15
src/client/voice/opus/BaseOpusEngine.js
Normal file
@@ -0,0 +1,15 @@
|
||||
class BaseOpus {
|
||||
constructor(player) {
|
||||
this.player = player;
|
||||
}
|
||||
|
||||
encode(buffer) {
|
||||
return buffer;
|
||||
}
|
||||
|
||||
decode(buffer) {
|
||||
return buffer;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = BaseOpus;
|
||||
27
src/client/voice/opus/NodeOpusEngine.js
Normal file
27
src/client/voice/opus/NodeOpusEngine.js
Normal file
@@ -0,0 +1,27 @@
|
||||
const OpusEngine = require('./BaseOpusEngine');
|
||||
|
||||
let opus;
|
||||
|
||||
class NodeOpusEngine extends OpusEngine {
|
||||
constructor(player) {
|
||||
super(player);
|
||||
try {
|
||||
opus = require('node-opus');
|
||||
} catch (err) {
|
||||
throw err;
|
||||
}
|
||||
this.encoder = new opus.OpusEncoder(48000, 2);
|
||||
}
|
||||
|
||||
encode(buffer) {
|
||||
super.encode(buffer);
|
||||
return this.encoder.encode(buffer, 1920);
|
||||
}
|
||||
|
||||
decode(buffer) {
|
||||
super.encode(buffer);
|
||||
return this.encoder.decode(buffer, 1920);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = NodeOpusEngine;
|
||||
25
src/client/voice/opus/OpusEngineList.js
Normal file
25
src/client/voice/opus/OpusEngineList.js
Normal file
@@ -0,0 +1,25 @@
|
||||
const list = [
|
||||
require('./NodeOpusEngine'),
|
||||
];
|
||||
|
||||
exports.add = encoder => {
|
||||
list.push(encoder);
|
||||
};
|
||||
|
||||
function fetch(Encoder) {
|
||||
try {
|
||||
return new Encoder();
|
||||
} catch (err) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
exports.fetch = () => {
|
||||
for (const encoder of list) {
|
||||
const success = fetch(encoder);
|
||||
if (success) {
|
||||
return success;
|
||||
}
|
||||
}
|
||||
throw new Error('could not find an opus engine');
|
||||
};
|
||||
Reference in New Issue
Block a user