分享

大小端转化转化

 520jefferson 2016-03-03
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;
    }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多