Remarks
Loads 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.
Multi-channel formats are supported natively when the MultiChannelLoadingModeSet method has been invoked with the nMode parameter set to MULTICHAN_DOWNMIX_NONE while in other cases will be converted to stereo during the loading procedure.
In case you should need loading a specific single channel of the raw audio file, use the LoadSoundChannelFromRawMemory method.
A successful call to this method will fire the SoundLoadingStarted event followed by a number of SoundLoadingPerc events and finally by the SoundLoadingDone event.
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 LoadSoundFromRawMemory (
pBuffer() as Byte,
nBufferLength as Int32,
nEncodeMode as enumRAWEncodeModes,
bIsBigEndian as Boolean,
nFrequency as Int32,
nChannels as Int32
) as enumErrorCodes
|
|
[C#]
public enumErrorCodes LoadSoundFromRawMemory (
byte[] pBuffer,
Int32 nBufferLength,
enumRAWEncodeModes nEncodeMode,
bool bIsBigEndian,
Int32 nFrequency,
Int32 nChannels
);
|
|
[C++]
public: enumErrorCodes LoadSoundFromRawMemory (
unsigned char __gc[] pBuffer,
Int32 nBufferLength,
enumRAWEncodeModes nEncodeMode,
bool bIsBigEndian,
Int32 nFrequency,
Int32 nChannels
);
|
|
Parameter
|
Description
|
|
|
pBuffer
|
Buffer containing sound data
|
nBufferLen
|
Length in bytes of the given buffer
|
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.
|
|