c: void fix_byte_order(short * pnPcm, int nSampleNum){ if(isLSB!=0){return;} char x0,x1; short x; int len; for(len=0;len<nSampleNum;len++){ x0=((char*)(pnPcm+len))[0]; x1=((char*)(pnPcm+len))[1]; ((char*)&x)[0]=x1; ((char*)&x)[1]=x0; *(pnPcm+len)=x; } } java: private byte[] trimAndConvert(short [] buffer, int simpleCount){ short[] trimSamples = new short[simpleCount]; for (int i = 0; i < simpleCount; i++) { trimSamples[i] = buffer[i]; } byte[] byteBuffer = new byte[trimSamples.length*2]; for (int i = 0; i < trimSamples.length; i++) { short trimSample = trimSamples[i]; byteBuffer[i*2+0] = (byte) (trimSample >> 8); byteBuffer[i*2+1] = (byte) (trimSample >> 0); } return byteBuffer; } |
|
来自: 520jefferson > 《c/c 》