Copyright © 2005-2008 MultiMedia Soft 
Return to Table of contents  
 
LoadSoundFromMemory method 
 
Remarks 
 
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 will fire the SoundLoaded 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 LoadSoundFromMemory
nPlayerIndex as Int16
pBuffer() as Byte
nBufferLength as Int32 
 
[C#] 
public enumErrorCodes LoadSoundFromMemory
Int16 nPlayerIndex, 
byte[] pBuffer, 
Int32 nBufferLength 
);
 
[C++] 
public: enumErrorCodes LoadSoundFromMemory
Int16 nPlayerIndex, 
unsigned char __gc[] pBuffer, 
Int32 nBufferLength 
);
 
 
Parameter
Description
 
 
nPlayerIndex
Number representing the zero-based index of the player that will load the memory sound
pBuffer
Buffer containing sound data
nBufferLen
Length in bytes of the given buffer
 
 
Return value 
 
Value
Meaning
 
 
Negative value
An error occurred (see the LastError property for further error details)
enumErrorCodes.NOERROR (0)
The method call was successful.
 
 
Sample 
 
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 
       Return 
   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) 
       return; 
 
   // 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 
       ... 
   } 
 
 
 
 
 
 
 
Copyright © 2005-2008 MultiMedia Soft 
Return to Table of contents