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]

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.