Copyright © 2005-2019 MultiMedia Soft

LoadSoundFromMemory method

Previous pageReturn to chapter overviewNext page



Loads a sound file stored in memory. The sound file can be a stream file (see the LoadSound method for accepted stream formats) or a MOD music file.

If the sound is in RAW format use the LoadSoundFromRawMemory method.


A successful call to this method invokes the CallbackForPlayersEvents delegate with the nEvent parameter set to EV_SOUND_LOADED.





[Visual Basic]

Public Function LoadSoundFromMemory (

nPlayerIndex as Int16,

pBuffer() as Byte,

nBufferLength as Int32

) as enumErrorCodes



public enumErrorCodes LoadSoundFromMemory (

Int16 nPlayerIndex,

byte[] pBuffer,

Int32 nBufferLength




public: enumErrorCodes LoadSoundFromMemory (

Int16 nPlayerIndex,

unsigned char __gc[] pBuffer,

Int32 nBufferLength









Number representing the zero-based index of the player that will load the memory sound


Buffer containing sound data


Length in bytes of the given buffer



Return value






Negative value

An error occurred (see the LastError property for further error details)

enumErrorCodes.NOERROR (0)

The method call was successful.





Below you can find a couple of samples that demonstrate how to load a sound stored in memory in Visual Basic.NET and Visual C# : in these samples the file is taken from a file and its contents are stored in memory.


Visual Basic.NET


' declare the memory buffer (cannot be a local variable)

Dim m_byteBuffer() As Byte


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

 Dim openFileDialog1 As New OpenFileDialog

 If openFileDialog1.ShowDialog() <> DialogResult.OK Then


 End If


 ' put the song file into a stream

 Dim streamFile As FileStream

 streamFile = New FileStream(openFileDialog1.FileName, FileMode.Open)

 Dim binReader As BinaryReader

 binReader = New BinaryReader(streamFile)


 ' reallocate the memory buffer space and store the song

 ReDim m_byteBuffer(streamFile.Length)

 binReader.Read(m_byteBuffer, 0, streamFile.Length)


 If AudioDjStudio1.LoadSoundFromMemory(0, m_byteBuffer, streamFile.Length) = AudioDjStudio.enumErrorCodes.NOERROR Then

     ' do domething


 End If

End Sub



Visual C#.NET


// declare the memory buffer (cannot be a local variable)

byte[] m_byteBuffer = null;


private void buttonLoad1_Click(object sender, System.EventArgs e)


 OpenFileDialog openFileDialog1 = new OpenFileDialog();

 if (openFileDialog1.ShowDialog() != DialogResult.OK)



 // put the song file into a stream

 FileStream      streamFile = new FileStream (openFileDialog1.FileName, FileMode.Open);

 BinaryReader    binReader = new BinaryReader (streamFile);


 //  allocate the memory buffer space and store the song

 m_byteBuffer = new byte[streamFile.Length];

 binReader.Read (m_byteBuffer, 0, (int) streamFile.Length);


 // load song from memory buffer

 if (audioDjStudio1.LoadSoundFromMemory (0, m_byteBuffer, (Int32) streamFile.Length) == enumErrorCodes.NOERROR)


     // do something