Tak s těma aux* funkcema mi to taky nefunguje, ale rozchodil jsem vlastní příklad přes mixer* funkce viz zdroják níže. Mě to ve Windows XP Professional funguje. Tak si to vyzkoušejte.
[size=14px][code][color=#0000FF]#include[/color] [color=#800080][/color]
[color=#0000FF]#include[/color] [color=#800080][/color]
[color=#0000FF]#include[/color] [color=#800080][/color]
[color=#0000FF]#pragma[/color] [color=#0000FF]comment[/color][color=#800000]([/color][color=#0000FF]lib[/color][color=#800000],[/color][color=#800080]"winmm.lib"[/color][color=#800000])[/color]
[color=#008000]// Pokud pouzivate MingW pak tuto pragmu nemuzete pouzit[/color]
[color=#008000]// a namisto toho si musite nekde v nastaveni projektu podle[/color]
[color=#008000]// typu vyvojoveho prostredi, ktere pouzivate, doplnit [/color]
[color=#008000]// do seznamu linkovanych knihoven odpovidajici knihovnu.[/color]
[color=#008000]// Jenze to nebude winmm.lib, ale patrne winmm.a nebo nejaky [/color]
[color=#008000]// podobny nazev, protoze v ramci sady MingW se v nekterych [/color]
[color=#008000]// pripadech pouzivaji krome jinych nazvu pripony [/color]
[color=#008000]// (namisto *.lib se pouziva *.a) i jine nazvy [/color]
[color=#008000]// samotnych knihoven, ale nevim presne jake.[/color]
[color=#0000FF]int[/color] main [color=#800000]([/color][color=#0000FF]void[/color][color=#800000])[/color]
[color=#800000]{[/color]
SetLastError[color=#800000]([/color][color=#0000FF]0[/color][color=#800000])[/color][color=#800000];[/color]
UINT p [color=#800000]=[/color] mixerGetNumDevs[color=#800000]([/color][color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]p[color=#800000])[/color] [color=#800000]{[/color]
UINT mxID[color=#800000];[/color]
HMIXER hmx[color=#800000];[/color]
MIXERLINE mxl[color=#800000];[/color]
MIXERCAPS mixd[color=#800000];[/color]
MIXERCONTROL mxc[color=#800000];[/color]
MIXERLINECONTROLS mxlc[color=#800000];[/color]
MIXERCONTROLDETAILS mxcd[color=#800000];[/color]
MIXERCONTROLDETAILS_UNSIGNED mxvol[color=#800000];[/color]
MMRESULT Ret[color=#800000];[/color]
LONG AddVolume[color=#800000];[/color]
printf[color=#800000]([/color][color=#800080]"Pocet: %d\n"[/color][color=#800000],[/color]p[color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]for[/color] [color=#800000]([/color]mxID[color=#800000]=[/color][color=#0000FF]0[/color][color=#800000];[/color]mxID[color=#800000]<[/color]p[color=#800000];[/color]mxID[color=#800000]+[/color][color=#800000]+[/color][color=#800000])[/color] [color=#800000]{[/color]
ZeroMemory[color=#800000]([/color][color=#800000]&[/color]mixd[color=#800000],[/color][color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCAPS[color=#800000])[/color][color=#800000])[/color][color=#800000];[/color]
Ret [color=#800000]=[/color] mixerGetDevCaps[color=#800000]([/color]mxID[color=#800000],[/color][color=#800000]&[/color]mixd[color=#800000],[/color][color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCAPS[color=#800000])[/color][color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]Ret[color=#800000])[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"mixerGetDevCaps, mxID=%d, chyba %lu\n"[/color][color=#800000],[/color]mxID[color=#800000],[/color][color=#800000]([/color]DWORD[color=#800000])[/color]Ret[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color] [color=#0000FF]else[/color] [color=#800000]{[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]mixd[color=#800000].[/color]szPname[color=#800000][[/color][color=#0000FF]0[/color][color=#800000]][/color][color=#800000])[/color] [color=#800000]{[/color]
Ret [color=#800000]=[/color] mixerOpen[color=#800000]([/color][color=#800000]&[/color]hmx[color=#800000],[/color][color=#0000FF]0[/color][color=#800000],[/color][color=#0000FF]0[/color][color=#800000],[/color][color=#0000FF]0[/color][color=#800000],[/color]MIXER_OBJECTF_MIXER[color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]Ret[color=#800000])[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"mixerOpen, mxID=%d, chyba %lu\n"[/color][color=#800000],[/color]mxID[color=#800000],[/color][color=#800000]([/color]DWORD[color=#800000])[/color]Ret[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color] [color=#0000FF]else[/color] [color=#800000]{[/color]
ZeroMemory[color=#800000]([/color][color=#800000]&[/color]mxl[color=#800000],[/color][color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERLINE[color=#800000])[/color][color=#800000])[/color][color=#800000];[/color]
mxl[color=#800000].[/color]cbStruct [color=#800000]=[/color] [color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERLINE[color=#800000])[/color][color=#800000];[/color]
mxl[color=#800000].[/color]dwComponentType [color=#800000]=[/color] MIXERLINE_COMPONENTTYPE_DST_SPEAKERS[color=#800000];[/color]
Ret [color=#800000]=[/color] mixerGetLineInfo[color=#800000]([/color][color=#800000]([/color]HMIXEROBJ[color=#800000])[/color]hmx[color=#800000],[/color][color=#800000]&[/color]mxl[color=#800000],[/color]MIXER_GETLINEINFOF_COMPONENTTYPE[color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]Ret[color=#800000])[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"mixerGetLineInfo, mxID=%d, chyba %lu\n"[/color][color=#800000],[/color]mxID[color=#800000],[/color][color=#800000]([/color]DWORD[color=#800000])[/color]Ret[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color] [color=#0000FF]else[/color] [color=#800000]{[/color]
ZeroMemory[color=#800000]([/color][color=#800000]&[/color]mxc[color=#800000],[/color][color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCONTROL[color=#800000])[/color][color=#800000])[/color][color=#800000];[/color]
mxc[color=#800000].[/color]cbStruct [color=#800000]=[/color] [color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCONTROL[color=#800000])[/color][color=#800000];[/color]
ZeroMemory[color=#800000]([/color][color=#800000]&[/color]mxlc[color=#800000],[/color][color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERLINECONTROLS[color=#800000])[/color][color=#800000])[/color][color=#800000];[/color]
mxlc[color=#800000].[/color]cbStruct [color=#800000]=[/color] [color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERLINECONTROLS[color=#800000])[/color][color=#800000];[/color]
mxlc[color=#800000].[/color]dwLineID [color=#800000]=[/color] mxl[color=#800000].[/color]dwLineID[color=#800000];[/color]
mxlc[color=#800000].[/color]dwControlType [color=#800000]=[/color] MIXERCONTROL_CONTROLTYPE_VOLUME[color=#800000];[/color]
mxlc[color=#800000].[/color]cControls [color=#800000]=[/color] [color=#0000FF]1[/color][color=#800000];[/color]
mxlc[color=#800000].[/color]cbmxctrl [color=#800000]=[/color] [color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCONTROL[color=#800000])[/color][color=#800000];[/color]
mxlc[color=#800000].[/color]pamxctrl [color=#800000]=[/color] [color=#800000]&[/color]mxc[color=#800000];[/color]
Ret [color=#800000]=[/color] mixerGetLineControls[color=#800000]([/color][color=#800000]([/color]HMIXEROBJ[color=#800000])[/color]hmx[color=#800000],[/color][color=#800000]&[/color]mxlc[color=#800000],[/color]MIXER_GETLINECONTROLSF_ONEBYTYPE[color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]Ret[color=#800000])[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"mixerGetLineControls, mxID=%d, chyba %lu\n"[/color][color=#800000],[/color]mxID[color=#800000],[/color][color=#800000]([/color]DWORD[color=#800000])[/color]Ret[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color] [color=#0000FF]else[/color] [color=#800000]{[/color]
ZeroMemory[color=#800000]([/color][color=#800000]&[/color]mxcd[color=#800000],[/color][color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCONTROLDETAILS[color=#800000])[/color][color=#800000])[/color][color=#800000];[/color]
ZeroMemory[color=#800000]([/color][color=#800000]&[/color]mxvol[color=#800000],[/color][color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCONTROLDETAILS_UNSIGNED[color=#800000])[/color][color=#800000])[/color][color=#800000];[/color]
mxcd[color=#800000].[/color]cbStruct [color=#800000]=[/color] [color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCONTROLDETAILS[color=#800000])[/color][color=#800000];[/color]
mxcd[color=#800000].[/color]dwControlID [color=#800000]=[/color] mxc[color=#800000].[/color]dwControlID[color=#800000];[/color]
mxcd[color=#800000].[/color]cbDetails [color=#800000]=[/color] [color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCONTROLDETAILS_UNSIGNED[color=#800000])[/color][color=#800000];[/color]
mxcd[color=#800000].[/color]paDetails [color=#800000]=[/color] [color=#800000]&[/color]mxvol[color=#800000];[/color]
mxcd[color=#800000].[/color]cChannels [color=#800000]=[/color] [color=#0000FF]1[/color][color=#800000];[/color]
Ret [color=#800000]=[/color] mixerGetControlDetails[color=#800000]([/color][color=#800000]([/color]HMIXEROBJ[color=#800000])[/color]hmx[color=#800000],[/color][color=#800000]&[/color]mxcd[color=#800000],[/color]MIXER_GETCONTROLDETAILSF_VALUE[color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]Ret[color=#800000])[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"mixerGetControlDetails, mxID=%d, chyba %lu\n"[/color][color=#800000],[/color]mxID[color=#800000],[/color][color=#800000]([/color]DWORD[color=#800000])[/color]Ret[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color] [color=#0000FF]else[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"ID %d: %s, rozsah volume: %d az %d, stav volume: %d\n"[/color][color=#800000],[/color]
mxID[color=#800000],[/color]mixd[color=#800000].[/color]szPname[color=#800000],[/color]
mxc[color=#800000].[/color]Bounds[color=#800000].[/color]lMinimum[color=#800000],[/color]
mxc[color=#800000].[/color]Bounds[color=#800000].[/color]lMaximum[color=#800000],[/color]
mxvol[color=#800000].[/color]dwValue[color=#800000])[/color][color=#800000];[/color]
AddVolume [color=#800000]=[/color] [color=#800000]([/color]mxc[color=#800000].[/color]Bounds[color=#800000].[/color]lMaximum [color=#800000]-[/color] mxc[color=#800000].[/color]Bounds[color=#800000].[/color]lMinimum[color=#800000])[/color] [color=#800000]/[/color] [color=#0000FF]10[/color][color=#800000];[/color]
mxvol[color=#800000].[/color]dwValue [color=#800000]+[/color][color=#800000]=[/color] AddVolume[color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color][color=#800000]([/color]LONG[color=#800000])[/color]mxvol[color=#800000].[/color]dwValue [color=#800000]>[/color] mxc[color=#800000].[/color]Bounds[color=#800000].[/color]lMaximum[color=#800000])[/color] [color=#800000]{[/color]
mxvol[color=#800000].[/color]dwValue [color=#800000]=[/color] mxc[color=#800000].[/color]Bounds[color=#800000].[/color]lMinimum[color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
Ret [color=#800000]=[/color] mixerSetControlDetails[color=#800000]([/color][color=#800000]([/color]HMIXEROBJ[color=#800000])[/color]hmx[color=#800000],[/color][color=#800000]&[/color]mxcd[color=#800000],[/color]MIXER_SETCONTROLDETAILSF_VALUE[color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]Ret[color=#800000])[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"mixerSetControlDetails, mxID=%d, chyba %lu\n"[/color][color=#800000],[/color]mxID[color=#800000],[/color][color=#800000]([/color]DWORD[color=#800000])[/color]Ret[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color] [color=#0000FF]else[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"set volume: %d\n"[/color][color=#800000],[/color]mxvol[color=#800000].[/color]dwValue[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
mixerClose[color=#800000]([/color]hmx[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#800000]}[/color] [color=#0000FF]else[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"mixerGetNumDevs: 0\n"[/color][color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#0000FF]return[/color] [color=#0000FF]0[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[/code][/size]
Tak s těma aux* funkcema mi to taky nefunguje, ale rozchodil jsem vlastní příklad přes mixer* funkce viz zdroják níže. Mě to ve Windows XP Professional funguje. Tak si to vyzkoušejte.
[size=14px][code][color=#0000FF]#include[/color] [color=#800080][/color]
[color=#0000FF]#include[/color] [color=#800080][/color]
[color=#0000FF]#include[/color] [color=#800080][/color]
[color=#0000FF]#pragma[/color] [color=#0000FF]comment[/color][color=#800000]([/color][color=#0000FF]lib[/color][color=#800000],[/color][color=#800080]"winmm.lib"[/color][color=#800000])[/color]
[color=#008000]// Pokud pouzivate MingW pak tuto pragmu nemuzete pouzit[/color]
[color=#008000]// a namisto toho si musite nekde v nastaveni projektu podle[/color]
[color=#008000]// typu vyvojoveho prostredi, ktere pouzivate, doplnit [/color]
[color=#008000]// do seznamu linkovanych knihoven odpovidajici knihovnu.[/color]
[color=#008000]// Jenze to nebude winmm.lib, ale patrne winmm.a nebo nejaky [/color]
[color=#008000]// podobny nazev, protoze v ramci sady MingW se v nekterych [/color]
[color=#008000]// pripadech pouzivaji krome jinych nazvu pripony [/color]
[color=#008000]// (namisto *.lib se pouziva *.a) i jine nazvy [/color]
[color=#008000]// samotnych knihoven, ale nevim presne jake.[/color]
[color=#0000FF]int[/color] main [color=#800000]([/color][color=#0000FF]void[/color][color=#800000])[/color]
[color=#800000]{[/color]
SetLastError[color=#800000]([/color][color=#0000FF]0[/color][color=#800000])[/color][color=#800000];[/color]
UINT p [color=#800000]=[/color] mixerGetNumDevs[color=#800000]([/color][color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]p[color=#800000])[/color] [color=#800000]{[/color]
UINT mxID[color=#800000];[/color]
HMIXER hmx[color=#800000];[/color]
MIXERLINE mxl[color=#800000];[/color]
MIXERCAPS mixd[color=#800000];[/color]
MIXERCONTROL mxc[color=#800000];[/color]
MIXERLINECONTROLS mxlc[color=#800000];[/color]
MIXERCONTROLDETAILS mxcd[color=#800000];[/color]
MIXERCONTROLDETAILS_UNSIGNED mxvol[color=#800000];[/color]
MMRESULT Ret[color=#800000];[/color]
LONG AddVolume[color=#800000];[/color]
printf[color=#800000]([/color][color=#800080]"Pocet: %d\n"[/color][color=#800000],[/color]p[color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]for[/color] [color=#800000]([/color]mxID[color=#800000]=[/color][color=#0000FF]0[/color][color=#800000];[/color]mxID[color=#800000]<[/color]p[color=#800000];[/color]mxID[color=#800000]+[/color][color=#800000]+[/color][color=#800000])[/color] [color=#800000]{[/color]
ZeroMemory[color=#800000]([/color][color=#800000]&[/color]mixd[color=#800000],[/color][color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCAPS[color=#800000])[/color][color=#800000])[/color][color=#800000];[/color]
Ret [color=#800000]=[/color] mixerGetDevCaps[color=#800000]([/color]mxID[color=#800000],[/color][color=#800000]&[/color]mixd[color=#800000],[/color][color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCAPS[color=#800000])[/color][color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]Ret[color=#800000])[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"mixerGetDevCaps, mxID=%d, chyba %lu\n"[/color][color=#800000],[/color]mxID[color=#800000],[/color][color=#800000]([/color]DWORD[color=#800000])[/color]Ret[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color] [color=#0000FF]else[/color] [color=#800000]{[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]mixd[color=#800000].[/color]szPname[color=#800000][[/color][color=#0000FF]0[/color][color=#800000]][/color][color=#800000])[/color] [color=#800000]{[/color]
Ret [color=#800000]=[/color] mixerOpen[color=#800000]([/color][color=#800000]&[/color]hmx[color=#800000],[/color][color=#0000FF]0[/color][color=#800000],[/color][color=#0000FF]0[/color][color=#800000],[/color][color=#0000FF]0[/color][color=#800000],[/color]MIXER_OBJECTF_MIXER[color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]Ret[color=#800000])[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"mixerOpen, mxID=%d, chyba %lu\n"[/color][color=#800000],[/color]mxID[color=#800000],[/color][color=#800000]([/color]DWORD[color=#800000])[/color]Ret[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color] [color=#0000FF]else[/color] [color=#800000]{[/color]
ZeroMemory[color=#800000]([/color][color=#800000]&[/color]mxl[color=#800000],[/color][color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERLINE[color=#800000])[/color][color=#800000])[/color][color=#800000];[/color]
mxl[color=#800000].[/color]cbStruct [color=#800000]=[/color] [color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERLINE[color=#800000])[/color][color=#800000];[/color]
mxl[color=#800000].[/color]dwComponentType [color=#800000]=[/color] MIXERLINE_COMPONENTTYPE_DST_SPEAKERS[color=#800000];[/color]
Ret [color=#800000]=[/color] mixerGetLineInfo[color=#800000]([/color][color=#800000]([/color]HMIXEROBJ[color=#800000])[/color]hmx[color=#800000],[/color][color=#800000]&[/color]mxl[color=#800000],[/color]MIXER_GETLINEINFOF_COMPONENTTYPE[color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]Ret[color=#800000])[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"mixerGetLineInfo, mxID=%d, chyba %lu\n"[/color][color=#800000],[/color]mxID[color=#800000],[/color][color=#800000]([/color]DWORD[color=#800000])[/color]Ret[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color] [color=#0000FF]else[/color] [color=#800000]{[/color]
ZeroMemory[color=#800000]([/color][color=#800000]&[/color]mxc[color=#800000],[/color][color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCONTROL[color=#800000])[/color][color=#800000])[/color][color=#800000];[/color]
mxc[color=#800000].[/color]cbStruct [color=#800000]=[/color] [color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCONTROL[color=#800000])[/color][color=#800000];[/color]
ZeroMemory[color=#800000]([/color][color=#800000]&[/color]mxlc[color=#800000],[/color][color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERLINECONTROLS[color=#800000])[/color][color=#800000])[/color][color=#800000];[/color]
mxlc[color=#800000].[/color]cbStruct [color=#800000]=[/color] [color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERLINECONTROLS[color=#800000])[/color][color=#800000];[/color]
mxlc[color=#800000].[/color]dwLineID [color=#800000]=[/color] mxl[color=#800000].[/color]dwLineID[color=#800000];[/color]
mxlc[color=#800000].[/color]dwControlType [color=#800000]=[/color] MIXERCONTROL_CONTROLTYPE_VOLUME[color=#800000];[/color]
mxlc[color=#800000].[/color]cControls [color=#800000]=[/color] [color=#0000FF]1[/color][color=#800000];[/color]
mxlc[color=#800000].[/color]cbmxctrl [color=#800000]=[/color] [color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCONTROL[color=#800000])[/color][color=#800000];[/color]
mxlc[color=#800000].[/color]pamxctrl [color=#800000]=[/color] [color=#800000]&[/color]mxc[color=#800000];[/color]
Ret [color=#800000]=[/color] mixerGetLineControls[color=#800000]([/color][color=#800000]([/color]HMIXEROBJ[color=#800000])[/color]hmx[color=#800000],[/color][color=#800000]&[/color]mxlc[color=#800000],[/color]MIXER_GETLINECONTROLSF_ONEBYTYPE[color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]Ret[color=#800000])[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"mixerGetLineControls, mxID=%d, chyba %lu\n"[/color][color=#800000],[/color]mxID[color=#800000],[/color][color=#800000]([/color]DWORD[color=#800000])[/color]Ret[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color] [color=#0000FF]else[/color] [color=#800000]{[/color]
ZeroMemory[color=#800000]([/color][color=#800000]&[/color]mxcd[color=#800000],[/color][color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCONTROLDETAILS[color=#800000])[/color][color=#800000])[/color][color=#800000];[/color]
ZeroMemory[color=#800000]([/color][color=#800000]&[/color]mxvol[color=#800000],[/color][color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCONTROLDETAILS_UNSIGNED[color=#800000])[/color][color=#800000])[/color][color=#800000];[/color]
mxcd[color=#800000].[/color]cbStruct [color=#800000]=[/color] [color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCONTROLDETAILS[color=#800000])[/color][color=#800000];[/color]
mxcd[color=#800000].[/color]dwControlID [color=#800000]=[/color] mxc[color=#800000].[/color]dwControlID[color=#800000];[/color]
mxcd[color=#800000].[/color]cbDetails [color=#800000]=[/color] [color=#0000FF]sizeof[/color][color=#800000]([/color]MIXERCONTROLDETAILS_UNSIGNED[color=#800000])[/color][color=#800000];[/color]
mxcd[color=#800000].[/color]paDetails [color=#800000]=[/color] [color=#800000]&[/color]mxvol[color=#800000];[/color]
mxcd[color=#800000].[/color]cChannels [color=#800000]=[/color] [color=#0000FF]1[/color][color=#800000];[/color]
Ret [color=#800000]=[/color] mixerGetControlDetails[color=#800000]([/color][color=#800000]([/color]HMIXEROBJ[color=#800000])[/color]hmx[color=#800000],[/color][color=#800000]&[/color]mxcd[color=#800000],[/color]MIXER_GETCONTROLDETAILSF_VALUE[color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]Ret[color=#800000])[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"mixerGetControlDetails, mxID=%d, chyba %lu\n"[/color][color=#800000],[/color]mxID[color=#800000],[/color][color=#800000]([/color]DWORD[color=#800000])[/color]Ret[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color] [color=#0000FF]else[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"ID %d: %s, rozsah volume: %d az %d, stav volume: %d\n"[/color][color=#800000],[/color]
mxID[color=#800000],[/color]mixd[color=#800000].[/color]szPname[color=#800000],[/color]
mxc[color=#800000].[/color]Bounds[color=#800000].[/color]lMinimum[color=#800000],[/color]
mxc[color=#800000].[/color]Bounds[color=#800000].[/color]lMaximum[color=#800000],[/color]
mxvol[color=#800000].[/color]dwValue[color=#800000])[/color][color=#800000];[/color]
AddVolume [color=#800000]=[/color] [color=#800000]([/color]mxc[color=#800000].[/color]Bounds[color=#800000].[/color]lMaximum [color=#800000]-[/color] mxc[color=#800000].[/color]Bounds[color=#800000].[/color]lMinimum[color=#800000])[/color] [color=#800000]/[/color] [color=#0000FF]10[/color][color=#800000];[/color]
mxvol[color=#800000].[/color]dwValue [color=#800000]+[/color][color=#800000]=[/color] AddVolume[color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color][color=#800000]([/color]LONG[color=#800000])[/color]mxvol[color=#800000].[/color]dwValue [color=#800000]>[/color] mxc[color=#800000].[/color]Bounds[color=#800000].[/color]lMaximum[color=#800000])[/color] [color=#800000]{[/color]
mxvol[color=#800000].[/color]dwValue [color=#800000]=[/color] mxc[color=#800000].[/color]Bounds[color=#800000].[/color]lMinimum[color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
Ret [color=#800000]=[/color] mixerSetControlDetails[color=#800000]([/color][color=#800000]([/color]HMIXEROBJ[color=#800000])[/color]hmx[color=#800000],[/color][color=#800000]&[/color]mxcd[color=#800000],[/color]MIXER_SETCONTROLDETAILSF_VALUE[color=#800000])[/color][color=#800000];[/color]
[color=#0000FF]if[/color] [color=#800000]([/color]Ret[color=#800000])[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"mixerSetControlDetails, mxID=%d, chyba %lu\n"[/color][color=#800000],[/color]mxID[color=#800000],[/color][color=#800000]([/color]DWORD[color=#800000])[/color]Ret[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color] [color=#0000FF]else[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"set volume: %d\n"[/color][color=#800000],[/color]mxvol[color=#800000].[/color]dwValue[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
mixerClose[color=#800000]([/color]hmx[color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#800000]}[/color] [color=#0000FF]else[/color] [color=#800000]{[/color]
printf[color=#800000]([/color][color=#800080]"mixerGetNumDevs: 0\n"[/color][color=#800000])[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[color=#0000FF]return[/color] [color=#0000FF]0[/color][color=#800000];[/color]
[color=#800000]}[/color][color=#800000];[/color]
[/code][/size]
Citovat příspěvek