Home Units Hierarchy Routines All identifiers

Class unavclWaveMixer

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type unavclWaveMixer = class(unavclInOutWavePipe)

Description

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

Usage: If components has no provider component with formatProvider=true, specify PCM stream parameters before activating: set pcm_SamplesPerSec, pcm_BitsPerSample and pcm_NumChannels 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 VC component, which has consumer property set to mixer component. Alternatively you can use addStream() and removeStream() method to add and remove streams (see Example B below).

Example A: c_mixer_client and c_mixer_server components are used in vcNetTalk demo to mix PCM streams coming from live recording device and WAVe file stored on disk.

Example B: mixer is used in vcPulseGen demo to mix unlimited number of sine waves. Refer to demo sources for details.

Hierarchy

Overview

Methods

Protected function doAddProvider(provider: unavclInOutPipe): bool; override;
Protected function doWrite(data: pointer; len: uint; provider: pointer = nil): uint; override;
Public procedure AfterConstruction(); override;
Public procedure BeforeDestruction(); override;
Protected procedure createNewDevice(); override;
Protected procedure doRemoveProvider(provider: unavclInOutPipe); override;
Protected procedure doSetAddSilence(value: boolean); override;

Properties

Published property addSilence;
Published property calcVolume;
Published property enableDataProcessing;
Published property minActiveTime;
Published property minVolumeLevel;
Public property mixer: unaWaveMixerDevice read getMixer;
Published property onThreshold;
Published property realTime;
Published property silenceDetectionMode;

Description

Methods

Protected function doAddProvider(provider: unavclInOutPipe): bool; override;
 
Protected function doWrite(data: pointer; len: uint; provider: pointer = nil): uint; override;

Writes data into mixer.

Public procedure AfterConstruction(); override;
 
Public procedure BeforeDestruction(); override;
 
Protected procedure createNewDevice(); override;

Creates PCM wave mixer device.

Protected procedure doRemoveProvider(provider: unavclInOutPipe); override;
 
Protected procedure doSetAddSilence(value: boolean); override;
 

Properties

Published property addSilence;
 
Published property calcVolume;
 
Published property enableDataProcessing;

Specifies whether the component would perform any data mixing.

Published property minActiveTime;
 
Published property minVolumeLevel;
 
Public property mixer: unaWaveMixerDevice read getMixer;

Returns PCM wave mixer device class instance.

Published property onThreshold;
 
Published property realTime;
 
Published property silenceDetectionMode;
 

(c) 2012 Lake of Soft


Generated by PasDoc 0.12.1 on 2012-10-09