我正在尝试在node.js中为Mumble(音频聊天程序)制作90秒延迟机器人。我正在使用node-mumble并一直在查看node-delayed-stream。
所以我尝试使用:
mumble.connect( 'localhost:5432', function( error, connection ) {
if( error ) { throw new Error( error ); }
connection.authenticate('loopback-' + unique);
connection.on( 'initialized', function() {
var delayed = DelayedStream.create(connection.outputStream());
setTimeout(function() {
delayed.pipe(connection.inputStream());
}, 5000);
});
});
然而,如果没有人在说话,outputStream(流向bot的音频)会暂停,这意味着inputStream(输入音频到嘟嘟服务器)有时间赶上并最终会再次同步。
这是我想要的效果的想法,但可以想象出最差的质量:
mumble.connect( 'localhost:5432', function( error, connection ) {
if( error ) { throw new Error( error ); }
connection.authenticate('loopback-' + unique);
connection.on( 'initialized', function() {
connection.outputStream().on('data', function(d) {
setTimeout(function() {
connection.inputStream().write(d);
}, 5000);
});
});
});
如何始终在流上保持平滑的X秒延迟?