Equivalent to BASS_ChannelGetLevel(Int32), but with individual offset and length.
Namespace: Un4seen.Bass
Assembly: Bass.Net (in Bass.Net.dll) Version: 2.4.17.5
Syntax
public static int GetLevel( IntPtr buffer, int chans, int bps, int startIndex, int length )
Parameters
- buffer
- Type: SystemIntPtr
The buffer pointer to the sample data (e.g. as obtained in a DSPPROC). - chans
- Type: SystemInt32
The number of channels to use (1=mono, 2=stereo). In case of mono the left and right channel will contain the same value. - bps
- Type: SystemInt32
The bytes per sample (or bitwidth) - which can be either 1, 2 or 4 bytes per sample or 8, 16 or 32 bits per sample. - startIndex
- Type: SystemInt32
The starting index (sample offset, not byte offset!) within the buffer from where to to get the level (use -1 to start from the beginning). - length
- Type: SystemInt32
Number of samples (not bytes!) to use (startIndex + length must be less than the buffer size) - no range check is applied here!.
Return Value
Type: Int32If successful, the level of the left channel is returned in the low word (low 16-bits), and the level of the right channel is returned in the high word (high 16-bits). If the channel is mono, then the low word is duplicated in the high word.
Remarks
Structure of the return value (int = 32-bit):
| 32-bit | | right-peak | left-peak |
Each peak level ranges linearly from 0 (silent) to +32767 (max).
See Also