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

Components reference


    WaveRiff

Reads audio stream from WAV or MPEG file, producing PCM/MPEG stream, or creates and writes new WAV file.

Set FileName property to valid file name.Set IsInput to true if you wish to read from a file. Set IsInput to false if you wish to write (create) into a file.Set Active to true to start reading or writing. Set Active to false to stop reading, or close the produced file.Set RealTime to true if you wish the audio data read from file will be available in real-time manner (otherwise it will be read as fast as possible).

Implements
IWaveRiffdefault 
IvcproWaveRiffEventsdefaultsource
IvcproProvider  
IvcproConsumer  

IvcproWaveRiffEvents (IDispatch)
Can be implemeted by client to hook events
Methods
void OnDataAvailable()This method is fired every time component has produced or received new chunk of data. Use this event to access the stream data
void OnStreamIsDone()This method is fired when no more data can be read from stream (and Loop = False)

IWaveRiff
Dispatch interface for WaveRiff 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 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
BSTR FileNameSpecifies file name with WAVe file for Riff wave device
long FileSizeReturns file size in bytes
long FormatTagSpecifies audio format tag for the wave device
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 getFileType()Returns type of audio file: 0 - unknown; 1 - riff; 2 - mpeg
long getMpegFrameSize()Returns frame size of MPEG stream
bool IsInputSpecifies whether Riff wave device is used for reading or writing the audio
bool LoopSpecifies whether wave stream should be looped from end to beginning
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, 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.