总有一些奇怪的需求 java处理音频数据 编解码 ε=(´ο`*)))唉
优点:不会产生溢出,噪音较小;
缺点:衰减过大,影响通话质量;
核心算法: b[i] = (byte) ((bMax[i] + bMin[i])>>1);
音频混音算法的实现:
/**
* b1与b2数组长度可以不相等
*
* @param b1 byte1[]
* @param b2 byte2[]
* @return
*/
public byte[] remix(byte[] b1,byte[] b2) {
int l1 = b1.length;
int l2 = b2.length;
byte[] bMax = null;
byte[] bMin = null;
if(l1>l2) {
bMax = b1;
bMin = b2;
}else {
bMax = b2;
bMin = b1;
}
byte[] b = new byte[bMax.length];
for(int i=0;i<bMax.length;i++) {
if(i<bMin.length) {
b[i] = (byte) ((bMax[i] + bMin[i])>>1);
}else {
b[i] = bMax[i];
}
}
return b;
}