errory voice

This commit is contained in:
Amish Shah
2016-08-24 21:38:48 +01:00
parent 48444a5444
commit 8683f45816
20 changed files with 476 additions and 13 deletions

View File

@@ -0,0 +1,15 @@
class BaseOpus {
constructor(player) {
this.player = player;
}
encode(buffer) {
return buffer;
}
decode(buffer) {
return buffer;
}
}
module.exports = BaseOpus;

View 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;

View 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');
};