Readonly
Channels property is a set of constants, indicating what channels are found on the soundcard. The constants are of type TMixerChannel which enumerates following elements:
mcVolume - general output level for the current soundcard.
mcTreble - treble level
mcBass - bass level
mcSynth - internal synthesizer output level
mcPCM - output for /dev/dsp and dev/audio devices
mcSpeaker - internal PC speaker (this channel is available if the speaker is directly connected to the sound card)
mcLine - Line In jack of the sound card
mcMic - input level for microphone
mcCD - input level for CD-ROM drive (audio CD)
mcIMix, mcAltPCM - these channels are rarely available
mcRecLev - general recording level
mcUnknown - unknown channel
The line of code checking whether the soundcard posses particular channel might look like this:
if mcMic in Mixer1.Channels then // Microphone is supported
There is a function called ChannelToStr in ACS_Mixer unit. This function takes a TMixerChannel value and returns a string, containing the name of the channel.
There may be more than one mixer in the system. For example if you have several soundcards installed, each of them usually has its own mixer. Set DevNum to the number of the mixer you want to use. There is a variable called MixersCount in ACS_Mixer unit. Read this variable to get the number of mixers found in the system. The mixer numbers assigned to DevNum start from zero, and the maximum number possible is MixersCount - 1.
Level[const vChannel : TMixerChannel] : TMixerLevel;
Use Level to get or set the level value for a particular mixer channel (see Channels property).
Readonly
Read MixerName to get the mixer name specified by soundcard's vendor.
Use RecordSource to set or get the channel currently used as recording source (see Channels property).
Copyright © 2002, 2003 Andrei Borovsky. All rights reserved.