System.arraycopy(new byte[11], 0, buf, 17, 11);
System.arraycopy(new byte[11], 0, buf, offset+17, 11);
  public static int writeSpeexHeader(byte[] buf, int offset, int sampleRate,                                     int mode, int channels, boolean vbr,                                     int nframes)  {    writeString(buf, offset, "Speex   ");    //  0 -  7: speex_string    writeString(buf, offset+8, "speex-1.0"); //  8 - 27: speex_version    System.arraycopy(new byte[11], 0, buf, 17, 11); // : speex_version (fill in up to 20 bytes)    writeInt(buf, offset+28, 1);           // 28 - 31: speex_version_id    writeInt(buf, offset+32, 80);          // 32 - 35: header_size    writeInt(buf, offset+36, sampleRate);  // 36 - 39: rate    writeInt(buf, offset+40, mode);        // 40 - 43: mode (0=NB, 1=WB, 2=UWB)    writeInt(buf, offset+44, 4);           // 44 - 47: mode_bitstream_version    writeInt(buf, offset+48, channels);    // 48 - 51: nb_channels    writeInt(buf, offset+52, -1);          // 52 - 55: bitrate    writeInt(buf, offset+56, 160 << mode); // 56 - 59: frame_size (NB=160, WB=320, UWB=640)    writeInt(buf, offset+60, vbr?1:0);     // 60 - 63: vbr    writeInt(buf, offset+64, nframes);     // 64 - 67: frames_per_packet    writeInt(buf, offset+68, 0);           // 68 - 71: extra_headers    writeInt(buf, offset+72, 0);           // 72 - 75: reserved1    writeInt(buf, offset+76, 0);           // 76 - 79: reserved2    return 80;  }