当前位置: 代码迷 >> Android >> Android socket传送音频同步有关问题
  详细解决方案

Android socket传送音频同步有关问题

热度:25   发布时间:2016-04-28 04:14:59.0
Android socket传送音频同步问题
各位大牛好!最近做个项目是在两个安卓手机之间传送音频数据然后同步播放,通过WiFi,TCP传送,主机开两个线程,一个播放一个传送数据,从机开一个线程,一边接收数据一边mAudioTrack.write(),我现在遇到个问题,就是如果每次两个手机第一次连接后(一个手机作为热点连接),运行程序接收数据的一侧能立即反应过来播放音频,而且基本与主机播放同步;然后我关闭程序再打开,接收方开始就会有很长一段杂音,然后才能播放,而且很明显有掉数据,因为听到的都是从中间开始播放的,主从机不同步,请问只是怎么回事啊,一头雾水。。
下面是相关代码:



先谢谢大家啦!
------解决方案--------------------
引用:
各位大牛好!最近做个项目是在两个安卓手机之间传送音频数据然后同步播放,通过WiFi,TCP传送,主机开两个线程,一个播放一个传送数据,从机开一个线程,一边接收数据一边mAudioTrack.write(),我现在遇到个问题,就是如果每次两个手机第一次连接后(一个手机作为热点连接),运行程序接收数据的一侧能立即反应过来播放音频,而且基本与主机播放同步;然后我关闭程序再打开,接收方开始就会有很长一段杂音,然后才能播放,而且很明显有掉数据,因为听到的都是从中间开始播放的,主从机不同步,请问只是怎么回事啊,一头雾水。。
下面是相关代码:



先谢谢大家啦!

对于这个的话,我的建议是  接收端建一个buff 最好足够到,发送方先发送数据,当接收方的buff存满后,再同时播放,就相当于你网上看视频一样,先缓冲再播放,而不是接到数据就播。