Remarks
Loads a specific audio channel from a sound in RAW format contained inside a memory buffer.
You can manage how loaded sound will be added to the existing editing session through a previous call to the SetLoadingMode method.
You can limit the range of sound data that will be loaded from the given sound file with a previous call to the SetLoadingRange method.
During the execution of the loading session the CallbackPercentage delegate is invoked, with the nOperation parameter set to OPERATION_SOUND_LOADING, in order to notify about the percentage of advancement of the loading session.
For further details about callback delegates see the How to synchronize the container application with the API tutorial.
IMPORTANT TOPIC: remember that the memory buffer containing song data must not be moved by the garbage collector and needs to be available till the call to the CloseSound method.
Syntax
[Visual Basic]
Public Function LoadSoundChannelFromRawMemory (
pBuffer() as Byte,
nBufferLength as Int32,
nChannel as Int16,
nEncodeMode as enumRAWEncodeModes,
bIsBigEndian as Boolean,
nFrequency as Int32,
nChannels as Int32
) as enumErrorCodes
|
|
[C#]
public enumErrorCodes LoadSoundChannelFromRawMemory (
byte[] pBuffer,
Int32 nBufferLength,
Int16 nChannel,
enumRAWEncodeModes nEncodeMode,
bool bIsBigEndian,
Int32 nFrequency,
Int32 nChannels
);
|
|
[C++]
public: enumErrorCodes LoadSoundChannelFromRawMemory (
unsigned char __gc[] pBuffer,
Int32 nBufferLength,
Int16 nChannel,
enumRAWEncodeModes nEncodeMode,
bool bIsBigEndian,
Int32 nFrequency,
Int32 nChannels
);
|
|
Parameter
|
Description
|
|
|
pBuffer
|
Buffer containing sound data
|
nBufferLen
|
Length in bytes of the given buffer
|
nChannel
|
Number representing the zero-based index of the audio channel to load.
|
nEncodeMode
|
Encode mode used to encode the RAW file.
Supported values are the following:
Mnemonic constant
|
Value
|
Meaning
|
RAW_ENCODE_PCM_U8
|
0
|
RAW PCM 8 bits Unsigned
|
RAW_ENCODE_PCM_S8
|
1
|
RAW PCM 8 bits Signed
|
RAW_ENCODE_PCM_S16
|
2
|
RAW PCM 16 bits Signed
|
RAW_ENCODE_PCM_S24
|
3
|
RAW PCM 24 bits Signed
|
RAW_ENCODE_PCM_S32
|
4
|
RAW PCM 32 bits Signed
|
RAW_ENCODE_FLOAT32
|
5
|
RAW 32 bits floating point
|
RAW_ENCODE_G711_ULAW
|
6
|
RAW G711 U-LAW
|
RAW_ENCODE_G711_ALAW
|
7
|
RAW G711 A-LAW
|
RAW_ENCODE_GSM_610
|
8
|
RAW GSM 6.10
|
RAW_ENCODE_DIALOGIC_VOX
|
9
|
RAW Dialogic ADPCM VOX
|
|
bIsBigEndian
|
Boolean flag that specifies if bits order inside the RAW file are little-endian or big-endian
Supported values are the following:
Value
|
Meaning
|
false
|
The RAW file is encoded using little-endian
|
true
|
The RAW file is encoded using big-endian
|
|
nFrequency
|
Sample rate of the RAW file (e.g. 44100)
|
nChannels
|
Number of channels of the RAW file: for example, 1 for Mono or 2 for Stereo, 6 for 5.1 formats and so on
|
Return value
Value
|
Meaning
|
|
|
Negative value
|
An error occurred (see the LastError property for further error details)
|
enumErrorCodes.ERR_NOERROR (0)
|
The method call was successful.
|
|