Copyright © 2008-2019 MultiMedia Soft

LoadSoundFromRawMemory method

Previous pageReturn to chapter overviewNext page

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]

control.LoadSoundFromRawMemory (

pBuffer as variant,

nBufferLen as long,

nEncodeMode as enumRAWEncodeModes,

bIsBigEndian as enumBoolean,

nFrequency as Long,

nChannels as Long

) as enumErrorCodes


 

[C++]

short control.LoadSoundFromRawMemory (

const VARIANT FAR& pBuffer,

long nBufferLen,

short nEncodeMode,

short bIsBigEndian,

long nFrequency,

long nChannels

);


 

 

Parameter

Description

 

 

pBuffer

Input buffer containing the original sound

nBufferLength

Length of the input buffer expressed in bytes

nEncodeMode

Encode mode used to encode the RAW file.

Supported values are the following:

Mnemonic constant

Numeric 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:

Mnemonic Value

Meaning

BOOL_FALSE

The RAW file is encoded using little-endian

BOOL_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, check the LastError property value in order to see the error code meaning

enumErrorCodes.ERR_NOERROR (0)

The method call was successful.