在客户端浏览器中使用javascript播放mp3 Websocket数据

时间:2016-10-27 16:54:17

标签: javascript java websocket audio-streaming

我有一个用Java编写的webSockets / NanoHTTP服务器应用程序。 Java应用程序从即时转换为mp3的麦克风录制实时音频,并通过任何/多个设备/浏览器的websockets远程启动/停止工作。

while(bRunThread) {
    int cnt = targetRecordLine.read(tempBuffer, 0, tempBuffer.length);
    if(cnt > 0) {
        if(bRecording) {
            int bytesToTransfer = Math.min(buffer.length, tempBuffer.length);
            int bytesWritten;
            int currentPcmPosition = 0;
            while(0 < (bytesWritten = encoder.encodeBuffer(tempBuffer, currentPcmPosition,
                    bytesToTransfer, buffer))) {
                currentPcmPosition += bytesToTransfer;
                bytesToTransfer = Math.min(buffer.length, tempBuffer.length
                        - currentPcmPosition);
                fos.write(buffer, 0, bytesWritten);
            }
        }
    }
}

我想以最小的延迟将mp3数据发送到监听浏览器。客户端Websockets都是在javascript中完成的。这将只在本地局域网上,但我想最大限度地减少带宽使用。我不能使用webRTC,因为旧设备不支持webRTC但支持WebSockets。

我很欣赏一些演示代码,如果可能的话,可以通过websockets解码/播放mp3数据块。

注意:如果这样做更难,我不必发送mp3数据。我可以在压缩之前获取数据。

0 个答案:

没有答案