写在前:
或许是本人水平有限, 一个简单的问题楞是想了很久还没想出来, 最后还是问我师父的结果.
总的来说, 目的就是: 服务器会发给本地电脑一系列的rtp包, 这些rtp包都是pcma编码的语音包, 我是想在本地将这些语音包给解压并播放出来.
上网查了很多, 也写了sdp文件, 然而一直实现不了
sdp文件如下:
m=audio 50060 RTP/AVP 8
a=rtpmap:8 PCMA/8000/1
a=framerate:50
c=IN IP4 22.22.22.159
这几个参数的意思, 可以看:http://blog.csdn.net/zhangjikuan/article/details/27378237
问题解决:
主要还是对网络之间的原理不是很理解, 网络都是io流的数据, 那么我应该使用VLC的网络串流的功能, 使用这个功能来接收服务器发送过来的语音数据流
因些这个问题就很好解决了
1.首先, 确保你的本地电脑是否收到了服务器发来的数据流, 可以用抓包软件wireshark来确定是否收到
2.其次, 确定你收到包可以解析成语音, 使用wireshark可以将UDP包--->解析成-->RTP包, 这些RTP包可以直接使用wireshark播放
3.现在, 已经可以确定本地收到语音包, 接着就是用VLC播放器将这些语音包时时播放出来就可以了
打开VLC, 选择"媒体(M)" --> "打开网络串流(N)" --> 在"请输入网络URL:"下输入--"rtp://@1234" --> "播放" 即可.