General info | Getting started | Samples | Components reference | FAQ | Solutions |

Components reference


    WaveCodec

Audio stream conversion from one supported format to another. It can convert PCM stream to other format (compression) or other format to PCM (decompression).

Specify PCM stream parameters before activating: PcmSamplesPerSec, PcmBitsPerSample and PcmNumChannels. Set FormatTag property to specify the other audio format you wish to compress to or decompress from. Set InputIsPCM to true, if you wish to convert PCM stream to another format (compression). Set InputIsPCM to false if you wish to convert other audio format to PCM stream (decompression).

Implements
IWaveCodecdefault 
IvcproBaseEventsdefaultsource
IvcproProvider  
IvcproConsumer  

IWaveCodec
Dispatch interface for WaveCodec component
Methods
void Flush()Completes processing of the last available data. Recommended to call before component closing
bool FormatChoose(BSTR Title, long Handle)Creates an ACM-defined dialog box that enables the user to select a waveform-audio format. Title parameter indicates dialog's title, Handle - parent handle of dialog window. If Handle is 0 then ActiveX component handle is used
BSTR FormatChooseStr(BSTR Title, long Handle)Displays an audio format dialog fox and returns settings in an encoded string
bool FormatSetStr(BSTR Format)Changes audio format settings using a string returned by FormatChooseStr() method
VARIANT GetData()Reads available data from output stream. Usually used when OnDataAvailable event fires
long GetVolume(long Channel)Returns current volume value. CalcVolume must be set to True. Result values range is 0...300 (logarithmic scale)
void SetData(VARIANT* data)Writes data to input stream
Properties
bool ActiveSet to true to activate (open) the component. All other properties should be set to proper values before activation. Set to false to deactivate (close) the component
bool AutoActivateWhen true tells the component it must activate consumer (if any) before activating itself. Same applies for deactivation. When false the component does not change the consumer state
bool CalcVolumeWhen true tells the component to calculate the audio volume of a stream coming into or from the component
long DataSizeInReturns data written into but not yet processed by the pipe
long DataSizeOutReturns data size available to read from the pipe
BSTR DumpInputFile name to dump the component input data to
BSTR DumpOutputFile name to dump the component output data to
long FormatTagSpecifies audio format tag for the wave device
bool FormatTagImmunableSpecifies the device is immunable for format tag changes (usually useful for codecs)
bool InputIsPcmSpecifies whether format of input stream of the device is PCM
bool IsFormatProviderWhen true the component will assign stream format to the consumer (if any). This simplifies the process of distributing stream format among linked components. For example WaveRiff component can assign PCM format to linked WaveOutDevice component, so WAVe file will be played back correctly
bool EnableDataProcessingWhen set to False suppresses any new data from being produced by the component itself. For example, WaveIn component will not stream any new data (but will remain Active). In addition, components like Codec and Resampler will not perform any data processing, passing the incoming data down to consumers without any modification
bool SetVolume(long Channel, long Volume)Modifies volume of PCM audio, 100 - no modify; 50 - 50% of original, 0 - silence (linear scale). Channel could be -1 (apply to all channels) or any channel number starting from 0.
long OverNumSpecifies how many chunks of data component can store in input or output buffer, if data cannot be processed immediately. Every chunk holds 1/10 sec. of audio. Set this property to 0 to disable the buffer overflow checking (NOTE: be carefully, since this could lead to uncontrolled memory usage grow)
long PcmBitsPerSampleSpecifies number of bits per sample for wave device
long PcmNumChannelsSpecifies number of channels per sample for wave device
long PcmSamplesPerSecSpecifies number of samples per second for wave device
bool SyncEventsSpecifies whether events calls synchronized through main thread


See also...

Base interfaces

Wave processing components:
WaveIn, WaveOut, WaveRiff, WaveMixer, WaveResampler, Equalizer, WaveMultiBandSplitter

Legacy IP components:
IpServer, IpClient, IpBroadcastServer, IpBroadcastClient, MediaGate, ConferenceServer

RTP streaming components:
IPReceiver, IPTransmitter, RTPConfClient, RTPConfServer

Misc. components:
VolumeControl, DisplayBands


VCX Library 3.0 © 2012 Lake of Soft
All rights reserved.