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

Components reference


    WaveMixer

Mixes two or more PCM audio streams. No ACM codecs are used by this component.

Specify PCM stream parameters before activating: set PcmSamplesPerSec, PcmBitsPerSample and PcmNumChannels to specify the audio format parameters. Set RealTime to true if you wish the mixing to be made in real-time manner. This component will mix as many streams as it has providers. Provider is any VCProX component, which has consumer property set to mixer component.

Implements
IWaveMixerdefault 
IvcproBaseEventsdefaultsource
IvcproProvider  
IvcproConsumer  

IWaveMixer
Dispatch interface for WaveMixer 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
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 AddSilenceSpecifies whether device should add silence when it runs out of audio data
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
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 RealTimeSpecifies whether device is working as real-time device
bool SyncEventsSpecifies whether events calls synchronized through main thread


See also...

Base interfaces

Wave processing components:
WaveIn, WaveOut, WaveCodec, WaveRiff, 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.