AudioTrack 从Socket播放实时声音(JAVA 服务器)

最近在自己写一个远程教学系统,将老师电脑屏幕,鼠标动作和讲课声音传输到学生端,学生要是有问题可以通过文字形式发给教师端。

有个问题卡了我两天多了,刚刚才解决,在这里记录一下,方便其他和我有一样问题的朋友。

服务器(java)发出音频,安卓端和PC(java)接受音频,PC的客户端能很好地接受音频但是安卓却只有噪声,谷歌百度了好久试了各种解决方案都不行,原因是网上大部分代码都是安卓和安卓进行声音传输,调用的方法其实都是底层C的方法,而我的项目里面声音是从JAVA服务器里面发出的,而JAVA和C的字节数组的结构是不一样的,一个是大端一个是小端,所以在JAVA发出音频时,应该把声音数据设置成小端,下面是代码:

bigEndian=false;
AudioFormat(sampleRate, sampleSizeInBits, channels, signed,bigEndian);

 这样在安卓端就能接受到正确的声音了。

相关推荐