我現在做個遠程播放音樂的功能,說白了就是本地選個mp3放給對方聽,但是需要邊傳邊放。
我把文件以4K大小發送,接收端在每接到24K的數據后就播放,現在的問題是,有時某塊數據能放,但是大部分是不能放的,很明顯,不是每個24K的數據在播放器看起來都像是一個可以放的mp3,這部分不知道該怎么處理?
另外,我對mp3文件格式也不熟,求大師點化!
?
經過測試發現,應該是發送方有問題,我把文件分兩次發,只有第一次的能放...是不是每塊發送的數據都應該設置個文件頭之類的東西?但是我不會...
10 回答

慕姐4208626
TA貢獻1852條經驗 獲得超7個贊
給每塊數據一個編號。按照編號可以拿傳輸進度。
檢查最后那個沒收到,等待收到了之后就播放。
當然這個只是思路,感覺上沒什么問題。不過有點空談,還是需要LZ多實驗。

蝴蝶刀刀
TA貢獻1801條經驗 獲得超8個贊
如果采用udp發送接收,需要自己處理接收順序問題,(如果音質要求嚴格,還需要處理重發的問題),也就是在數據頭上增加一個編號,然后接收后按順序組合播放;播放時可以使用directsound來處理,可以通過兩個線程,一個播放,一個將接收到的數據循環放到緩存區內(網上有很多directsound的例子)。
如果tcp協議,則只需要處理接收后的播放問題。
4k足夠大了。
- 10 回答
- 0 關注
- 848 瀏覽
添加回答
舉報
0/150
提交
取消