如何桥接字节数组和audiostream?
我正在为stream式应用程序创build一个中继服务器。 基本上,它应该像这样工作:
- 客户端A通过套接字将麦克风audio传输到服务器
- 服务器获取stream,也许暂时存储在某个地方?(不知道)
- 客户端B从服务器获取stream并播放它。
基本上,我完成了第一部分(发送麦克风audio到服务器):
while(isStreaming) { minBufSize = recorder.read(buffer, 0, buffer.length); mSocket.emit("stream", Arrays.toString(buffer)); }
第三部分完成,只是播放audio:
mediaplayer.reset(); mediaplayer.setDataSource("http://192.168.1.2:1337/stream"); mediaplayer.prepare(); mediaplayer.start();
现在我不知道如何桥接传入的字节数组和stream。 这是我目前的服务器代码:
var ms = require('mediaserver'); // from server to Client B exports.letsStream = function(req, res, next) { ms.pipe(req, res, "sample_song_music_file.mp3"); }; // from Client A to server exports.handleSocketConnection = function(socket) { console.log("connected"); socket.on('stream', function(data) { var bytes = JSON.parse(data); console.log("GETTING STREAM:" + bytes); }); }
有什么build议么? 我怎样才能直接stream式传输字节数组?
mediaserver模块仅支持stream式传输现有audio,而不支持“实时”stream式传输。 这是行不通的。
实现这三项任务的一个方法是:
- https://www.npmjs.com/package/microphone读取麦克风audio作为字节stream。
- http://binaryjs.com/处理通过websockets传输字节stream到服务器,然后发送到客户端。 如果你有两个单独的pathbuild立,一个用于发送数据,一个用于接收。 将数据从一个stream发送到另一个。
- 使用https://github.com/TooTallNate/node-speaker在客户端B上播放传入的PCM数据stream
- 在stream节点js时写入一个wav文件
- 从浏览器到服务器stream录制audio
- 使用Horseman和PhantomJS下载wav文件,丢失数据质量
- 使用fluent-ffmpeg来判断文件是video还是audio
- binaryjs – nodejs mp3audiostream并播放
- 与覆盆子pi上的node.js的和弦audio回放
- 如何使用WebaudioAPI在浏览器上播放ArrayBufferstream?
- NodeJs:如何pipe两个stream到一个产生的进程stdin(即ffmpeg)导致一个单一的输出
- IBM Watson语音到Node.js Web应用程序上的文本audio转换