Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 延迟Node.js中的流_Javascript_Node.js_Audio_Stream - Fatal编程技术网

Javascript 延迟Node.js中的流

Javascript 延迟Node.js中的流,javascript,node.js,audio,stream,Javascript,Node.js,Audio,Stream,我正在尝试在node.js中为Mumble(一个音频聊天程序)创建90秒延迟的bot。我正在使用并一直在查看 所以我试着使用: mumble.connect( 'localhost:5432', function( error, connection ) { if( error ) { throw new Error( error ); } connection.authenticate('loopback-' + unique); connection.on( 'in

我正在尝试在node.js中为Mumble(一个音频聊天程序)创建90秒延迟的bot。我正在使用并一直在查看

所以我试着使用:

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);
    });
});
但是,如果没有人说话,输出流(流向bot的音频)将暂停,这意味着输入流(流向mumble服务器的输入音频)有时间赶上,最终将再次同步

以下是我想要的效果,但质量最差:

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秒延迟