Copyright © 2008-2018 MultiMedia Soft

EncodeFormats.ACM.DownloadCodecWavFormatFromURL method

Previous pageReturn to chapter overviewNext page



Downloads from an Internet URL a file containing a WAV file header inclusive of the WAVEFORMATEX data structure.

This method is useful for downloading the WAV format of an ACM codec without the need to visually enumerate codecs currently installed on the target PC and is used for recording, CD ripping and exporting sessions when the EncodeFormats.ACM.EncodeMode property is set to ACM_ENCODE_USE_WAV_FORMAT_FROM_URL.


The header of a WAV file is defined as follows:

typedef struct


 char  szRiff[4];

 DWORD lFileSize;

 char  szWave[4];

 char  szFormat[4];

 DWORD lFormatLength;



and is immediately followed by the WAVEFORMATEX structure, common to all waveform-audio formats, defined inside the Microsoft SDK as follows:

typedef struct {

 WORD  wFormatTag;

 WORD  nChannels;

 DWORD nSamplesPerSec;

 DWORD nAvgBytesPerSec;

 WORD  nBlockAlign;

 WORD  wBitsPerSample;

 WORD  cbSize;


The cbSize member defines how many extra-bytes, specific for the needed codec, are appended to the end of the WAVEFORMATEX structure.


Calling this method generates a CodecWavFormatDownloadStarted event. The CodecWavFormatDownloadDone event is fired as soon as the download is completed.


It's important to note that further encoding through the downloaded WAV format will not work if the specific codec is not installed on the target PC.


For further details about using the Windows Audio Compression Manager refer to the ACM object section.

For a tutorial about the use of the Windows Audio Compression Manager refer to the How to use the Windows Audio Compression Manager section.

For further information about available encoding formats see the EncodeFormats object.





[Visual Basic]

control.EncodeFormats.ACM.DownloadCodecWavFormatFromURL (

strUrl as String

) as string



LPCTSTR control.EncodeFormats.ACM.DownloadCodecWavFormatFromURL (










String containing the Internet URL pointing to the file to download



Return value






Negative value

An error occurred, check the LastError property value in order to get the error code

enumErrorCodes.ERR_NOERROR (0)

The method call was successful