6

可能重复:
字节数组到短数组并在java中再次返回

encodeAudio()Xuggler 中的方法有以下参数:

  • 整数流索引
  • 短 [] 样本
  • 长时间邮票
  • 时间单位

  • 使用TargetDataLinefromjavax.sound.sampled我可以将数据读入byte[]数组

    byte[] tempBuffer = new byte[10000];
    fromMic.read(tempBuffer,0,tempBuffer.length);
    

    但问题是samples论证需要short[]

    4

    1 回答 1

    10

    你很幸运,byte可以“完全转换”到short,所以:

    // Grab size of the byte array, create an array of shorts of the same size
    int size = byteArray.length;
    short[] shortArray = new short[size];
    
    for (int index = 0; index < size; index++)
        shortArray[index] = (short) byteArray[index];
    

    然后使用shortArray.

    注意:就原始类型而言,Java 总是以大端顺序处理它们,所以转换,比如说,字节ff将产生 short 00ff

    于 2012-12-25T19:00:30.167 回答