Can anyone explain how to use the Windows Audio Compression Manager (using VC++)? thanks And what areas do i need to study first before I start..
Your first point of call should be the relevant entries in MSDN, which explain ACM usage in great detail and provides sample code and tutorials.
It's actually a very easy API to use - you simply create a compression stream, specifying your required input and output formats, and then create source and destination buffers. You write your source data into your source buffers and give them to the ACM to process. The ACM will then return processed output buffers to a callback function that you provide.
In addition to what Stu has said, you need to learn about the format of the WAVEFORMATEX structure for whatever compression types you want to work with. If you have WAV files, they will already contain a WAVEFORMATEX structure you can use directly, but if you want to use ACM to decompress say MP3 files, you will need to construct the WAVEFORMATEX yourself, which is often non-trivial (google is your friend).
Secondly, use of ACM is easier with constant bit rate compression as you know how much will come out given how much goes in, and you can convert entire blocks. With VBR you may need to deal with "leftovers" in source buffer.
Third, you need to realise that often conversions cannot be performed in a single step. All compressed formats will offer a decompression to PCM, but then you might need to perform a secondary conversion to get to the sample rate or bit rate you desire.