网络广播程序语音数据发送和接收速率匹配的问题

luoshupeng 2013-03-05 10:20:19
最近做一个网络广播程序,遇到了个语音数据发送和接收速率匹配的问题,想问问大家有什么好的解决方法没有。
需求:
做一个网络广播程序,也就是在发送端电脑上选择音乐文件,在播放端机器上播放出来。

整个过程我想应该是这个样子的:
发送端 读取音乐文件->网络发送
播放端 接收网络数据->存入接收缓冲区->播放
由于播放端机器是单片机,其接收缓冲区大小是有限制的,因此如果发送端发送速率过快,则接收缓冲区有可能充满,从而语音可能出现覆盖现象,如果发送端发送速率过慢,则接收缓冲区有可能处于亏空状态,从而语音可能出现停顿现象。

现在需要讨论的是确定一个方法,使发送和接收两端速率能够匹配,即接收缓冲区始终不会出现亏空和溢出状态。

希望有经验的朋友指导一下。
...全文
109 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
luoshupeng 2013-03-05
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
参考RTP协议?
RTP还需要RTCP来辅助,实在是不想做那么复杂的,因为是个小应用啊
mujiok2003 2013-03-05
  • 打赏
  • 举报
回复
实现可靠的UDP(重传+涌塞控制)
赵4老师 2013-03-05
  • 打赏
  • 举报
回复
参考RTP协议?
luoshupeng 2013-03-05
  • 打赏
  • 举报
回复
引用 1 楼 zilaishuichina 的回复:
接收端 告诉 发送端 “我这边现在缓存有多大需要多少数据” 发送端 按照 接收端的需求大小发
因为服务器是一对多,如果每个客户端都返回状态,处理起来会比较麻烦啊,还有没有其它方法了
zilaishuichina 2013-03-05
  • 打赏
  • 举报
回复
接收端 告诉 发送端 “我这边现在缓存有多大需要多少数据” 发送端 按照 接收端的需求大小发

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧