我现在做个远程播放音乐的功能,说白了就是本地选个mp3放给对方听,但是需要边传边放。
我把文件以4K大小发送,接收端在每接到24K的数据后就播放,现在的问题是,有时某块数据能放,但是大部分是不能放的,很明显,不是每个24K的数据在播放器看起来都像是一个可以放的mp3,这部分不知道该怎么处理?
另外,我对mp3文件格式也不熟,求大师点化!
经过测试发现,应该是发送方有问题,我把文件分两次发,只有第一次的能放...是不是每块发送的数据都应该设置个文件头之类的东西?但是我不会...
10 回答
慕姐4208626
TA贡献1852条经验 获得超7个赞
给每块数据一个编号。按照编号可以拿传输进度。
检查最后那个没收到,等待收到了之后就播放。
当然这个只是思路,感觉上没什么问题。不过有点空谈,还是需要LZ多实验。
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
如果采用udp发送接收,需要自己处理接收顺序问题,(如果音质要求严格,还需要处理重发的问题),也就是在数据头上增加一个编号,然后接收后按顺序组合播放;播放时可以使用directsound来处理,可以通过两个线程,一个播放,一个将接收到的数据循环放到缓存区内(网上有很多directsound的例子)。
如果tcp协议,则只需要处理接收后的播放问题。
4k足够大了。
- 10 回答
- 0 关注
- 816 浏览
添加回答
举报
0/150
提交
取消