The full range is a signed 16-bits integer. If you get only low values, your buffer simply isn't louder. The returned value is the amplitude at the given position. Additionally the channels are interleaved. So if you have for example stereo sound it would be LRLRLRLR... (not sure it it really starts with left, guess it just takes the higher channel count).