如何在nodejs

时间:2015-08-05 15:35:23

标签: java android html node.js

如果我说英语不好,请原谅 我在手机上录制我的声音并发送实时服务器(带dgram插座) 以下代码,我将其传输给服务器上的所有用户 我希望看到用户可以在Html页面中接收和广播声音

var http = require('http');
var dgram = require('dgram');
var clients = [];

var server = http.createServer(function(req, res) {
    res.writeHead(200,{"Content-Type": "audio/mpeg", 'Transfer-Encoding': 'chunked'});
        clients.push(res);
        console.log('Client connected; streaming');
    }).listen(8080, function() {
        console.log('Listening at: 127.0.0.1 8080');
    }
);

var srv = dgram.createSocket("udp4");
srv.on("message", function (msg, rinfo) {
        if (clients.length > 0){
            for (client in clients){
                clients[client].write(msg);
            };
        } 
});

srv.on("listening", function () {
  var address = srv.address();
  console.log("server listening " + address.address + ":" + address.port);
});

srv.bind(50005);

我将记录的数据发送到服务器,并在android:

中使用以下java代码
                    DatagramSocket socket = new DatagramSocket();
                    byte[] buffer = new byte[minBufSize];
                    DatagramPacket packet;
                    final InetAddress destination = InetAddress.getByName("my server ip");
                    AudioRecord recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,sampleRate,channelConfig,audioFormat,minBufSize*10);
                    recorder.startRecording();

                    while(status == true) {

                        minBufSize = recorder.read(buffer, 0, buffer.length);
                        packet = new DatagramPacket (buffer,buffer.length,destination,port);
                        socket.send(packet);
                    }

请帮帮我......

0 个答案:

没有答案
相关问题