Example #1
0
    public static ViSpeakStruct DeSerializer(byte[] buffer)
    {
        ViSpeakStruct viSpeakStruct = new ViSpeakStruct();

        viSpeakStruct.Channels      = BitConverter.ToInt32(buffer, 0);
        viSpeakStruct.Frequency     = BitConverter.ToInt32(buffer, 4);
        viSpeakStruct.SamplesLength = BitConverter.ToInt32(buffer, 8);
        viSpeakStruct.DataLength    = BitConverter.ToInt32(buffer, 12);
        viSpeakStruct.Data          = new byte[viSpeakStruct.DataLength];
        Buffer.BlockCopy(buffer, 16, viSpeakStruct.Data, 0, viSpeakStruct.DataLength);
        //
        return(viSpeakStruct);
    }
Example #2
0
 public static byte[] Serializer(ViSpeakStruct viSpeakStruct)
 {
     byte[] buffer         = new byte[12 + viSpeakStruct.Data.Length];
     byte[] channelsBuffer = BitConverter.GetBytes(viSpeakStruct.Channels);
     Buffer.BlockCopy(channelsBuffer, 0, buffer, 0, 4);
     //
     byte[] frequencyBuffer = BitConverter.GetBytes(viSpeakStruct.Frequency);
     Buffer.BlockCopy(frequencyBuffer, 0, buffer, 4, 4);
     //
     byte[] samplesLengthBuffer = BitConverter.GetBytes(viSpeakStruct.SamplesLength);
     Buffer.BlockCopy(samplesLengthBuffer, 0, buffer, 8, 4);
     //
     byte[] dataLengthBuffer = BitConverter.GetBytes(viSpeakStruct.DataLength);
     Buffer.BlockCopy(dataLengthBuffer, 0, buffer, 12, 4);
     //
     for (int iter = 0; iter < viSpeakStruct.Data.Length; ++iter)
     {
         buffer[16 + iter] = viSpeakStruct.Data[iter];
     }
     //
     return(buffer);
 }