Hownbsp;to实现音频录制和传输……2
2015-11-24 14:45:48 | 来源:新浪微博 | 投稿:碧桐密语 | 编辑:小柯

原标题:Hownbsp;to实现音频录制和传输……2

#为数不多的原创#

先建立UDP连接。为了方便,我先固定UDP端口。

李子铮告诉我们,UDP是​不可靠的,但是开销小。传语音不需要非常可靠啊。每个包传递64kB。

客户端​:

等待网络连接后,开启一个线程,专门接收udp报文。当然,原来接受tcp信令的线程也还存在。如下:

new Thread(new Runnable() {

public void run() {

while(netConnected) {

byte[] data = new byte[256];

DatagramSocket udpSocket = null;

Log.i("tag", "1client开始接收udp");

try {

udpSocket = new DatagramSocket(63002);

} catch (SocketException e) {

e.printStackTrace();

}

DatagramPacket packet = new DatagramPacket(data,data.length);

try {

udpSocket.receive(packet);

} catch (IOException e) {

e.printStackTrace();

}

udpSocket.close();

Log.i("tag","1client接收完成udp");

Log.i("tag", "1client"+data[0]+" "+data+" "+data+""+data);

}

}

}).start();

​客户端发送:

​try {

DatagramSocket udpSocket = new DatagramSocket(63000);

byte[] buf = new byte[256];

buf[0] = 2;

buf = 3;

Log.i("tag", "1client开始发送udp");

InetAddress ip =InetAddress.getByName(CommonConfig.SERVER_IP.trim());

DatagramPacket packet = new DatagramPacket(buf, buf.length, ip,CommonConfig.AUDIO_SERVER_UP_PORT);

udpSocket.send(packet);

udpSocket.close();

Log.i("tag", "1client完成发送udp");

} catch (SocketException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

在这里发送的是buf数组。

server的接收和发送:

byte[] data = new byte[256];

System.out.print("开始接收udp ");

DatagramSocket udpUpSocket = new DatagramSocket(20086);

DatagramPacket upPacket = new DatagramPacket(data,data.length);

udpUpSocket.receive(upPacket);

InetAddress add1 = upPacket.getAddress();

int port1 = upPacket.getPort();

System.out.print(" "+port1+" "+add1);

udpUpSocket.close();

System.out.println("接收完成udp");

System.out.println(data[0]+" "+data+" "+data+""+data);

System.out.print("开始发送udp ");

DatagramSocket udpDownSocket = new DatagramSocket(20087);

InetAddress ip =InetAddress.getByName("192.168.1.133".trim());

DatagramPacket downPacket = new DatagramPacket(data,data.length,ip,63002);

InetAddress add2 = downPacket.getAddress();

int port2 = downPacket.getPort();

System.out.print(" "+port2+" "+add2);

udpDownSocket.send(downPacket);

udpDownSocket.close();

System.out.println("发送完成udp");

tags:

上一篇  下一篇

相关:

恩里克:明明可以做段子手,偏要去当教练

PO主在看完昨天恩叔的发布会之后,再次被他的机智萌得不要不要的,遂萌发了整理恩叔语录的想法。遥想恩叔刚

你是最有力气的妈妈……

今天早上睡了个懒觉——确切的说,打算睡个懒觉,却比平时醒的都早了,因为今天休息爸爸收拾一下上班了,妈

《精灵的守护者们》活动相关

感谢各位一直以来对《梦王国与沉睡的100王子》的支持!
从明天开始,游戏内将开放《精灵的守护者们》活动,

台东池上,台湾的慢城!池上的美,云最知道!

2015-11-03 台湾达人 台湾达人
池上的美,云最知道。云忘记时间,无所谓,无所事事,轻松地来轻松去。“云

极端穆斯林是个怎样的生意

(加拿大某华人老油条写在西西河上的文章。)极端穆斯林体系是个多大的生意有人说,在魁北克一个地方,穆斯

正视别人的观点

昨天看了一部法国制作的纪录片《Human》,然后想了挺多。影片里多数的人都经历了或正在经历一些社会的阴暗面

深秋访令令--作者:百度朱令吧@秋月186

上周末,北京的令友们探望了令令和朱家二老,并写下了亲身感受,谢谢朋友们对朱令一家持续的关心和帮助!内

“村主任辞职为儿办婚礼”事件引发的思考

“村主任辞职为儿办婚礼”事件引发的思考近日,城固“村主任辞职为儿办婚礼”事件在全国引起舆论关注,央视

【济南拥堵超越北京,成中国最堵城市】

#高德地图#发布2015年第三季度#中国十大堵城排行#,北京阅兵期间15天的单双号限行,使北京掉落榜首;本季济

【调查及反馈1】如何帮助孩子适应环境改变?

环境改变对孩子的心理有哪些影响? 在电影《头脑特工队》中的莱丽,原本是一个快乐幸福爱搞怪的小姑娘,可

站长推荐: