Az adott csatornához tartozó vezérlőket a mixerGetLineControls függvény segítségével érhetjük el.

mixerGetLineControls
function mixerGetLineControls(
hmxobj: HMIXEROBJ;
pmxlc: PMixerLineControls;
fdwControls: DWORD
): MMRESULT;
Egy megadott audio csatornához rendelt vezérlők lekérdezésére szolgál.
Paraméterek
hmxobj: HMIXEROBJ
A Mixer objektum azonosítója.
pmxlc: PMixerLineControls
Mutató egy MIXERLINECONTROLS típusú változóra. Ebbe a változóba kerül a lekérdezés eredménye, amely egy vagy több elemet tartalmazhat. Egy adott vezérlőt a MIXERLINECONTROL struktúra ír le. A függvény hívása előtt, a cbStruct tagnak értékül kell adnunk a MIXERLINECONTROLS struktúra méretét, bájtokban.
fdwControls: DWORD
A műveletet meghatározó flag-ek.
| Konstans |
Jelentése |
| MIXER_GETLINECONTROLSF_ALL |
A pmxlc-ben a megadott eszközhöz tartozó összes vezérlőt eredményül kapjuk. A függvény hívása előtt a pmxlc paraméterben megadott struktúra dwLineID tagjában be kell állítanunk a lekérdezendő csatorna azonosítóját, a cControls tagban meg kell adnunk a lekérdezendő vezérlők számát. A cbmxctrl tagnak egy MIXERLINECONTROL struktúra méretét kell értékül adnunk. A pamxctrl tagban pedig egy pointer segítségével hivatkoznunk kell egy MIXERLINECONTROL típusú változóra. |
| MIXER_GETLINECONTROLSF_ONEBYID |
Egy megadott azonosítóval rendelkező vezérlőt ad vissza eredményül. A függvény hívása előtt a dwControlID mezőben kell megadnunk a lekérdezendő vezérlő azonosítóját. A cControls tag értékét 1-re kell állítanunk. A bmxctrl tagban egy MIXERLINECONTROL struktúra méretét kell megadnunk, a pamxctrl tagban pedig egy pointer segítségével hivatkoznunk kell egy MIXERLINECONTROL típusú változóra. |
| MIXER_GETLINECONTROLSF_ONEBYTYPE |
A megadott típusú vezérlők közül a legelsőt adja vissza eredményül. A pmxlc paraméter egy darab MIXERLINECONTROL struktúrát ad vissza. A bemenő paraméterként adott struktúra dwLineID és dwControlType mezőit be kell állítanunk, a függvény hívása előtt. |
| MIXER_OBJECTF_AUX |
A hmxobj paraméterben megadott azonosító egy AUX eszköz indexe. A rendelkezésre álló AUX eszközök számát a auxGetNumDev függvénnyel kérdezhetjük le. Az első elem indexe 0. |
| MIXER_OBJECTF_HMIDIIN |
A hmxobj paraméter egy MIDI, bemeneti eszközt azonosít. Ezt az azonosítót a midiInOpen függvény állítja elő. |
| MIXER_OBJECTF_HMIDIOUT |
A hmxobj paraméter egy MIDI, kimeneti eszközt azonosít. Ezt az azonosítót a midiOutOpen függvény állítja elő. |
| MIXER_OBJECTF_HMIXER |
A hmxobj paraméter egy Mixer szolgáltatást azonosít, amelyet a mixerOpen függvény nyit meg. |
| MIXER_OBJECTF_HWAVEIN |
A hmxobj paraméter egy WAVE-AUDIO, bemeneti eszközt azonosít. Az azonosítót a waveInOpen függvény állítja elő. |
| MIXER_OBJECTF_HWAVEOUT |
A hmxobj paraméter egy WAVE-AUDIO, kimeneti eszközt azonosít. Az azonosítót a waveOutOpen függvény állítja elő. |
| MIXER_OBJECTF_MIDIIN |
A hmxobj paraméter egy MIDI, bemeneti eszköz indexe. A használható eszközök számát a midiInGetNumDevs függvénnyel kérdezhetjük le. |
| MIXER_OBJECTF_MIDIOUT |
A hmxobj paraméter egy MIDI, kimeneti eszköz indexe. A használható eszközök számát a midiOutGetNumDevs függvénnyel kérdezhetjük le. |
| MIXER_OBJECTF_MIXER |
A hmxobj paraméterben megadott azonosító egy Mixer szolgáltatás indexe. Az eszközök számát a mixerGetNumDevs függvény segítségével kérdezhetjük le. |
| MIXER_OBJECTF_WAVEIN |
A hmxobj paraméterben megadott azonosító egy WAVE-AUDIO, bemeneti eszköz indexe. Az eszközök számát a waveInGetNumDevs függvény segítségével kérdezhetjük le. |
| MIXER_OBJECTF_WAVEOUT |
A hmxobj paraméterben megadott azonosító egy WAVE-AUDIO, kimeneti eszköz indexe. Az eszközök számát a waveOutGetNumDevs függvény segítségével kérdezhetjük le. |
Visszatérési érték
Ha a függvény lefutása sikeres volt, akkor az MMSYSERR_NOERROR értékkel tér vissza, ellenkező esetben a hiba kódjával. Ezek a következők lehetnek:
| Érték |
Jelentése |
| MIXERR_INVALCONTROL |
A vezérlő hivatkozás érvénytelen. |
| MIXERR_INVALLINE |
Az audio csatorna hivatkozás érvénytelen. |
| MMSYSERR_BADDEVICEID |
A hmxobj paraméter rossz eszközazonosítót tartalmaz. |
| MMSYSERR_INVALFLAG |
Egy vagy több flag nem valós. |
| MMSYSERR_INVALHANDLE |
A hmxobj-ben használt azonosító érvénytelen. |
| MMSYSERR_INVALPARAM |
Egy vagy több paraméter nem megfelelő. |
| MMSYSERR_NODRIVER |
Az hmxobj-ben megadott eszköz vagy szolgáltatás nem létezik. |
A függvénynek 3 fajtája van.
function mixerGetLineControls(hmxobj: HMIXEROBJ; pmxlc: PMixerLineControls; fdwControls: DWORD): MMRESULT;
function mixerGetLineControlsA(hmxobj: HMIXEROBJ; pmxlc: PMixerLineControlsA; fdwControls: DWORD): MMRESULT;
function mixerGetLineControlsW(hmxobj: HMIXEROBJ; pmxlc: PMixerLineControlsW; fdwControls: DWORD): MMRESULT;
MIXERLINECONTROLS struktúra
- cbStruct: DWORD – A struktúra mérete.
- dwLineID: DWORD – A lekérdezendő, vagy lekérdezett csatorna azonosítója. Értéke nem használt bemenő paraméterként, ha a mixerGetLineControls függvény a MIXER_GETLINECONTROLSF_ONEBYID flag-gel kerül meghívásra.
- dwControlID: DWORD) – A lekérdezendő, vagy lekérdezett vezérlő azonosítója. Ha a fenti függvényt a MIXER_GETLINECONTROLSF_ONEBYID flag-gel hívjuk meg, akkor ezt az értéket be kell állítanunk.
- dwControlType: DWORD – A vezérlő típusa. Ha a fenti függvényt a MIXER_GETLINECONTROLSF_ONEBYTYPE flag-gel hívjuk meg, akkor inicializálnunk kell ezt a tagot. Használható értékek: lásd MIXERCONTROL struktúra.
- cControls: DWORD – A lekérdezendő vezérlők száma. A MIXER_GETLINECONTROLSF_ONEBYID és a MIXER_GETLINECONTROLSF_ONEBYTYPE flag-ek használata esetén, csak 1 lehet az értéke.
- cbmxctrl: DWORD – A MIXERCONTROL struktúra méretét tartalmazza, bájtokban. Erre a pamxctrl tag használata miatt van szükség.
- pamxctrl: PMixerControlA – Mutató, egy vagy több MIXERCONTROL struktúrára. Az itt megadott buffert inicializálni kell a mixerGetLineControls függvény meghívása előtt.
MIXERCONTROL struktúra
- cbStruct: DWORD – A struktúra mérete, bájtokban.
- dwControlID: DWORD – A vezérlő egyedi azonosítója.
- dwControlType: DWORD – A vezérlő típusa. 8 fő kategória van, és mindegyiken belül egy vagy több típus.
MIXERCONTROL_CT_CLASS_CUSTOM:
- MIXERCONTROL_CONTROLTYPE_CUSTOM
MIXERCONTROL_CT_CLASS_FADER:
- MIXERCONTROL_CONTROLTYPE_BASS
- MIXERCONTROL_CONTROLTYPE_EQUALIZER
- MIXERCONTROL_CONTROLTYPE_FADER
- MIXERCONTROL_CONTROLTYPE_TREBLE
- MIXERCONTROL_CONTROLTYPE_VOLUME
MIXERCONTROL_CT_CLASS_LIST:
- MIXERCONTROL_CONTROLTYPE_MIXER
- MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT
- MIXERCONTROL_CONTROLTYPE_MUX
- MIXERCONTROL_CONTROLTYPE_SINGLESELECT
MIXERCONTROL_CT_CLASS_METER:
- MIXERCONTROL_CONTROLTYPE_BOOLEANMETER
- MIXERCONTROL_CONTROLTYPE_PEAKMETER
- MIXERCONTROL_CONTROLTYPE_SIGNEDMETER
- MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER
MIXERCONTROL_CT_CLASS_NUMBER:
- MIXERCONTROL_CONTROLTYPE_DECIBELS
- MIXERCONTROL_CONTROLTYPE_PERCENT
- MIXERCONTROL_CONTROLTYPE_SIGNED
- MIXERCONTROL_CONTROLTYPE_UNSIGNED
MIXERCONTROL_CT_CLASS_SLIDER:
- MIXERCONTROL_CONTROLTYPE_PAN
- MIXERCONTROL_CONTROLTYPE_QSOUNDPAN
- MIXERCONTROL_CONTROLTYPE_SLIDER
MIXERCONTROL_CT_CLASS_SWITCH:
- MIXERCONTROL_CONTROLTYPE_BOOLEAN
- MIXERCONTROL_CONTROLTYPE_BUTTON
- MIXERCONTROL_CONTROLTYPE_LOUDNESS
- MIXERCONTROL_CONTROLTYPE_MONO
- MIXERCONTROL_CONTROLTYPE_MUTE
- MIXERCONTROL_CONTROLTYPE_ONOFF
- MIXERCONTROL_CONTROLTYPE_STEREOENH
MIXERCONTROL_CT_CLASS_TIME:
- MIXERCONTROL_CONTROLTYPE_MICROTIME
- MIXERCONTROL_CONTROLTYPE_MILLITIME
- fdwControl: DWORD – Állapotjelző flag-ek. Értékek: MIXERCONTROL_CONTROLF_DISABLED – inaktív; MIXERCONTROL_CONTROLF_MULTIPLE – a vezérlő egy vagy több beállítási lehetőséget tartalmaz csatornánként.
- cMultipleItems: DWORD – Beállítási lehetőségek száma.
- szShortName: array[0..MIXER_SHORT_NAME_CHARS - 1] of AnsiChar – Rövid név.
- szName: array[0..MIXER_LONG_NAME_CHARS - 1] of AnsiChar – Név.
A Bounds struktúra tagjai:
- lMinimum: Longint – Előjeles, minimum érték.
- lMaximum: Longint – Előjeles, maximum érték.
- dwMinimum: DWORD – Előjeles, maximum érték.
- dwMaximum: DWORD – Előjeles, maximum érték.
- dwReserved: array[0..5] of DWORD – Nem használt.
A Metrics struktúra tagjai:
- cSteps: DWORD – Lépésegység a minimum és a maximum érték között.
- cbCustomData: DWORD) – A MIXERCONTROL_CONTROLTYPE_CUSTOM használata esetén van jelentősége.
dwReserved: array[0..5] of DWORD) – Nem használt.
Ha azonosítottunk egy audio vezérlőt, akkor a mixerGetControlDetails függvényt használhatjuk fel arra, hogy annak tulajdonságait lekérdezzük.

mixerGetControlDetails
function mixerGetControlDetails(
hmxobj: HMIXEROBJ;
pmxcd: PMixerControlDetails;
fdwDetails: DWORD
): MMRESULT;
Információkat szolgáltat egy audio csatornához rendelt vezérlőről.
Paraméterek
hmxobj: HMIXEROBJ
A Mixer szolgáltatás azonosítója.
pmxcd: PMixerControlDetails
Mutató egy TMIXERCONTROLDETAILS típusú struktúrára, amely tartalmazza a függvény hívásához szükséges inicializáló paramétereket. Az eredmény is az itt megadott változóba kerül. A TMIXERCONTROLDETAILS tagjait inicializálnunk kell, mielőtt meghívnánk a függvényt.
fdwDetails: DWORD
A függvény futását befolyásoló flag-ek.
| Konstans |
Jelentése |
| MIXER_GETCONTROLDETAILSF_LISTTEXT |
A MIXERCONTROLDETAILS struktúra paDetails tagja egy vagy több MIXERCONTROLDETAILS_LISTTEXT struktúrára mutat. |
| MIXER_GETCONTROLDETAILSF_VALUE |
Visszaadja a lekérdezett értékeket, és a MIXERCONTROLDETAILS struktúra paDetails tagja egy vagy több elemre mutat. |
| MIXER_OBJECTF_AUX |
A hmxobj paraméterben megadott azonosító egy AUX eszköz indexe. A rendelkezésre álló AUX eszközök számát a auxGetNumDev függvénnyel kérdezhetjük le. Az első elem indexe 0. |
| MIXER_OBJECTF_HMIDIIN |
A hmxobj paraméter egy MIDI, bemeneti eszközt azonosít. Ezt az azonosítót a midiInOpen függvény állítja elő. |
| MIXER_OBJECTF_HMIDIOUT |
A hmxobj paraméter egy MIDI, kimeneti eszközt azonosít. Ezt az azonosítót a midiOutOpen függvény állítja elő. |
| MIXER_OBJECTF_HMIXER |
A hmxobj paraméter egy Mixer szolgáltatást azonosít, amelyet a mixerOpen függvény nyit meg. |
| MIXER_OBJECTF_HWAVEIN |
A hmxobj paraméter egy WAVE-AUDIO, bemeneti eszközt azonosít. Az azonosítót a waveInOpen függvény állítja elő. |
| MIXER_OBJECTF_HWAVEOUT |
A hmxobj paraméter egy WAVE-AUDIO, kimeneti eszközt azonosít. Az azonosítót a waveOutOpen függvény állítja elő. |
| MIXER_OBJECTF_MIDIIN |
A hmxobj paraméter egy MIDI, bemeneti eszköz indexe. A használható eszközök számát a midiInGetNumDevs függvénnyel kérdezhetjük le. |
| MIXER_OBJECTF_MIDIOUT |
A hmxobj paraméter egy MIDI, kimeneti eszköz indexe. A használható eszközök számát a midiOutGetNumDevs függvénnyel kérdezhetjük le. |
| MIXER_OBJECTF_MIXER |
A hmxobj paraméterben megadott azonosító egy Mixer szolgáltatás indexe. Az eszközök számát a mixerGetNumDevs függvény segítségével kérdezhetjük le. |
| MIXER_OBJECTF_WAVEIN |
A hmxobj paraméterben megadott azonosító egy WAVE-AUDIO, bemeneti eszköz indexe. Az eszközök számát a waveInGetNumDevs függvény segítségével kérdezhetjük le. |
| MIXER_OBJECTF_WAVEOUT |
A hmxobj paraméterben megadott azonosító egy WAVE-AUDIO, kimeneti eszköz indexe. Az eszközök számát a waveOutGetNumDevs függvény segítségével kérdezhetjük le. |
Visszatérési érték
Ha a függvény lefutása sikeres volt, akkor az MMSYSERR_NOERROR értékkel tér vissza, ellenkező esetben a hiba kódjával. Ezek a következők lehetnek:
| Érték |
Jelentése |
| MIXERR_INVALCONTROL |
A vezérlő hivatkozás érvénytelen. |
| MMSYSERR_BADDEVICEID |
A hmxobj paraméter rossz eszközazonosítót tartalmaz. |
| MMSYSERR_INVALFLAG |
Egy vagy több flag nem valós. |
| MMSYSERR_INVALHANDLE |
A hmxobj-ben használt azonosító érvénytelen. |
| MMSYSERR_INVALPARAM |
Egy vagy több paraméter nem megfelelő. |
| MMSYSERR_NODRIVER |
Az hmxobj-ben megadott eszköz vagy szolgáltatás nem létezik. |
Hasonlóan a mixerGetLineControls függvényhez, ennek a függvénynek is 3 fajtája van.
function mixerGetControlDetails(hmxobj: HMIXEROBJ; pmxcd: PMixerControlDetails; fdwDetails: DWORD): MMRESULT;
function mixerGetControlDetailsA(hmxobj: HMIXEROBJ; pmxcd: PMixerControlDetails; fdwDetails: DWORD): MMRESULT;
function mixerGetControlDetailsW(hmxobj: HMIXEROBJ; pmxcd: PMixerControlDetails; fdwDetails: DWORD): MMRESULT;
Egy vezérlő tulajdonságait a mixerSetControlDetails függvény segítségével állíthatjuk be, vagy módosíthatjuk.

mixerSetControlDetails
function mixerSetControlDetails(
hmxobj: HMIXEROBJ;
pmxcd: PMixerControlDetails;
fdwDetails: DWORD
): MMRESULT;
Egy audio csatornához tartozó vezérlő tulajdonságainak beállítására szolgál.
Paraméterek
hmxobj: HMIXEROBJ
A Mixer azonosítója.
pmxcd: PMixerControlDetails
Ebben a paraméterben egy mutatót kell megadnunk, amely egy TMIXERCONTROLDETAILS típusú struktúrára mutat. Ennek a struktúrának kell tartalmaznia vezérlő új tulajdonságait.
fdwDetails: DWORD
A műveletet meghatározó flag-ek.
| Konstans |
Jelentése |
| MIXER_OBJECTF_AUX |
A hmxobj paraméterben megadott azonosító egy AUX eszköz indexe. A rendelkezésre álló AUX eszközök számát a auxGetNumDev függvénnyel kérdezhetjük le. Az első elem indexe 0. |
| MIXER_OBJECTF_HMIDIIN |
A hmxobj paraméter egy MIDI, bemeneti eszközt azonosít. Ezt az azonosítót a midiInOpen függvény állítja elő. |
| MIXER_OBJECTF_HMIDIOUT |
A hmxobj paraméter egy MIDI, kimeneti eszközt azonosít. Ezt az azonosítót a midiOutOpen függvény állítja elő. |
| MIXER_OBJECTF_HMIXER |
A hmxobj paraméter egy Mixer szolgáltatást azonosít, amelyet a mixerOpen függvény nyit meg. |
| MIXER_OBJECTF_HWAVEIN |
A hmxobj paraméter egy WAVE-AUDIO, bemeneti eszközt azonosít. Az azonosítót a waveInOpen függvény állítja elő. |
| MIXER_OBJECTF_HWAVEOUT |
A hmxobj paraméter egy WAVE-AUDIO, kimeneti eszközt azonosít. Az azonosítót a waveOutOpen függvény állítja elő. |
| MIXER_OBJECTF_MIDIIN |
A hmxobj paraméter egy MIDI, bemeneti eszköz indexe. A használható eszközök számát a midiInGetNumDevs függvénnyel kérdezhetjük le. |
| MIXER_OBJECTF_MIDIOUT |
A hmxobj paraméter egy MIDI, kimeneti eszköz indexe. A használható eszközök számát a midiOutGetNumDevs függvénnyel kérdezhetjük le. |
| MIXER_OBJECTF_MIXER |
A hmxobj paraméterben megadott azonosító egy Mixer szolgáltatás indexe. Az eszközök számát a mixerGetNumDevs függvény segítségével kérdezhetjük le. |
| MIXER_OBJECTF_WAVEIN |
A hmxobj paraméterben megadott azonosító egy WAVE-AUDIO, bemeneti eszköz indexe. Az eszközök számát a waveInGetNumDevs függvény segítségével kérdezhetjük le. |
| MIXER_OBJECTF_WAVEOUT |
A hmxobj paraméterben megadott azonosító egy WAVE-AUDIO, kimeneti eszköz indexe. Az eszközök számát a waveOutGetNumDevs függvény segítségével kérdezhetjük le. |
| MIXER_SETCONTROLDETAILSF_CUSTOM |
Használata esetén megjelenik a vezérlő beállításaira szolgáló ablak. A felhasználó módosíthatja a tulajdonságokat, majd azok mentésre kerülnek. |
| MIXER_SETCONTROLDETAILSF_VALUE |
Beállítja a megadott értékeket, és a MIXERCONTROLDETAILS struktúra paDetails tagja egy vagy több elemre mutat. |
Visszatérési érték
| Érték |
Jelentése |
| MIXERR_INVALCONTROL |
A vezérlő hivatkozás érvénytelen. |
| MMSYSERR_BADDEVICEID |
A hmxobj paraméter rossz eszközazonosítót tartalmaz. |
| MMSYSERR_INVALFLAG |
Egy vagy több flag nem valós. |
| MMSYSERR_INVALHANDLE |
A hmxobj-ben használt azonosító érvénytelen. |
| MMSYSERR_INVALPARAM |
Egy vagy több paraméter nem megfelelő. |
| MMSYSERR_NODRIVER |
Az hmxobj-ben megadott eszköz vagy szolgáltatás nem létezik. |
A TMIXERCONTROLDETAILS struktúra
- cbStruct: DWORD – A struktúra mérete bájtokban.
- dwControlID: DWORD – A vezérlő azonosítója.
- cChannels: DWORD– A csatornák száma, amelyre a beállítás vonatkozik.
- hwndOwner: HWND – A MIXER_SETCONTROLDETAILSF_CUSTOM flag használata esetén, a dialógusablakot megjelenítő ablak azonosítóját adja meg.
- cMultipleItems: DWORD - A csatornán belüli tulajdonságok száma, amelyre a beállítás vonatkozik.
- cbDetails: DWORD – A paDetails-ben használt struktúra mérete, bájtokban.
- paDetails: Pointer – Mutató, egy vagy több struktúrára, amelyeken keresztül a vezérlő tulajdonságainak értékét megkapjuk, vagy beállíthatjuk. A következő struktúrákat használhatjuk: TMIXERCONTROLDETAILSBOOLEAN, TMIXERCONTROLDETAILSLISTTEXT, TMIXERCONTROLDETAILSSIGNED, TMIXERCONTROLDETAILSUNSIGNED.
TMIXERCONTROLDETAILSBOOLEAN
TMIXERCONTROLDETAILSSIGNED
TMIXERCONTROLDETAILSUNSIGNED
TMIXERCONTROLDETAILSLISTTEXT
Listaszerű tulajdonságok megjelenítésére szolgál. Például az EQUALIZER használata esetén.
- dwParam1: DWORD – Paraméter 1. Használata függ a vezérlő típusától.
- dwParam2: DWORD – Paraméter 2. Használata függ a vezérlő típusától.
- szName: array[0..MIXER_LONG_NAME_CHARS - 1] of WideChar – A listaelem, szöveg formájában.