65.9K
CodeProject is changing. Read more.
Home

Convert byte[] to short[]

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.50/5 (4 votes)

Aug 3, 2024

CPOL
viewsIcon

4066

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;
}