Convert byte[] to short[]






2.50/5 (4 votes)
Converting byte[] to short[]. Can be used when dealing with raw audio samples.
static unsafe short[] ToInt16Array(byte[] data)
{
//the length of data should be an even number
int length = data.Length >> 1;
short[] array = new short[length];
fixed(byte* ptr = data)
{
short* value = (short*)ptr;
for (int i = 0; i < length; i++, value++)
{
array[i] = (short)*value;
}
}
return array;
}