免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2515 | 回复: 7

[算法] 局域网播放音乐文件发送速率的问题 [复制链接]

论坛徽章:
0
发表于 2013-03-15 13:03 |显示全部楼层
局域网播放音乐文件发送速率的问题
最近做一个网络广播程序,是基于局域网的,暂时不会涉及到互联网,其中有一项功能,就是给对方播放音乐的功能。这个功能的需求和设计是这样的:
1.在发送端读取音乐文件数据,初步设计是一次读1K或者1.5K,循环读取,在每次读取后将读取到的数据通过网络发送出去。因为音乐文件的格式暂时是WAV,所以目前不考虑编码和解码的问题
2.在接收端接收音乐数据到缓冲区中,当缓冲区达到一定量后则开始播放,以后就是一边接收一边播放

现在的问题是:
在接收端的缓冲区设计为一个循环缓冲区,而且其容量是有限制的,如果发送速率快于播放速率的话,则会发生数据覆盖现象,如果发送速率慢于播放速率的话,则会出现音乐停顿的现象。也就是说,我要怎样做,才能在很长一段时间内让接收端的缓冲区既不会出现覆盖也不会停顿停顿现象呢?

论坛徽章:
36
CU大牛徽章
日期:2013-09-18 15:24:20NBA常规赛纪念章
日期:2015-05-04 22:32:03牛市纪念徽章
日期:2015-07-24 12:48:5515-16赛季CBA联赛之辽宁
日期:2016-03-30 09:26:4715-16赛季CBA联赛之北控
日期:2016-03-30 11:26:2315-16赛季CBA联赛之广夏
日期:2016-05-20 15:46:5715-16赛季CBA联赛之吉林
日期:2016-05-24 11:38:0615-16赛季CBA联赛之青岛
日期:2016-05-30 13:41:3215-16赛季CBA联赛之同曦
日期:2016-06-23 16:41:052015年亚洲杯之巴林
日期:2015-02-03 15:05:04CU大牛徽章
日期:2013-09-18 15:24:52CU十二周年纪念徽章
日期:2013-10-24 15:46:53
发表于 2013-03-15 13:41 |显示全部楼层
不知道,居然还有嫌发送太快的...,不是很明白。

论坛徽章:
0
发表于 2013-03-15 13:46 |显示全部楼层
对于这个我基本不懂,我就说一下我的想法,有不靠谱的不要笑话
不知道wav文件是不是有一个码流,类似于xxxkbps, 假设没有卡顿,client端每秒收到xxxkb是不是就可以流畅播放?也可能是和 xxxkbps有系数关系什么的
实际情况可能有波动,需要类似qos机制调节

论坛徽章:
0
发表于 2013-03-15 13:47 |显示全部楼层
idi0t 发表于 2013-03-15 13:41
不知道,居然还有嫌发送太快的...,不是很明白。


其实接收端是一个单片机,资源有限啊,太快了数据就覆盖了

论坛徽章:
0
发表于 2013-03-15 13:56 |显示全部楼层
也可以自定义一个简单协议来同步,比如接收超过一个门限就通知server先暂停,低于一个门限就通知server继续发送,前提还是要知道每时间单位需要多少数据

论坛徽章:
0
发表于 2013-03-15 14:09 |显示全部楼层
既然都是环形,那读取了多少就写入多少了就可以了,至于网络对端,可以工具WAV头里的采样率单双声道计算多长时间发一次包就可以了。

论坛徽章:
7
摩羯座
日期:2013-12-05 10:42:57辰龙
日期:2013-12-27 13:40:49亥猪
日期:2014-01-15 09:10:37天秤座
日期:2014-01-20 11:22:20辰龙
日期:2014-01-26 17:02:25午马
日期:2014-01-27 14:22:34水瓶座
日期:2014-02-19 09:36:40
发表于 2013-03-15 14:27 |显示全部楼层
服务端设置发送速度不要大于播放的最大速度

论坛徽章:
0
发表于 2013-03-15 14:45 |显示全部楼层
剧毒元素 发表于 2013-03-15 13:46
对于这个我基本不懂,我就说一下我的想法,有不靠谱的不要笑话
不知道wav文件是不是有一个码流,类似于xxx ...

其实就是这个意思,那如何使用Qos呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP