Exemplo n.º 1
0
        public MIXERLINE[] GetAllMixerLineInfo()
        {
            // First get the capabilities, because that will tell 
            // us how many lines there are.
            // The MIXERCAPS.cDestinations tells us how many lines there are
            MIXERCAPS caps = MixerCapabilities;

            List<MIXERLINE> allLines = new List<MIXERLINE>();

            for (int i = 0; i < caps.cDestinations; i++)
            {
                // Get destination information
                MIXERLINE aLine = new MIXERLINE();
                aLine.Init();
                aLine.dwDestination = (uint)i;

                int result = winmm.mixerGetLineInfo(fDeviceHandle, ref aLine, 0);

                allLines.Add(aLine);

                // For each of the connections on the line, get the source line
                // information
                for (int connection = 0; connection < aLine.cConnections; connection++)
                {
                    MIXERLINE srcLine = new MIXERLINE();
                    srcLine.Init();
                    aLine.dwDestination = (uint)i;

                    int srcResult = winmm.mixerGetLineInfo(fDeviceHandle, ref srcLine, winmm.MIXER_GETLINEINFOF_SOURCE);

                    allLines.Add(srcLine);
                }
            }

            return allLines.ToArray();

        }
Exemplo n.º 2
0
 public static extern int mixerGetLineInfo(IntPtr hmxobj, ref MIXERLINE pmxl, int fdwInfo);
Exemplo n.º 3
0
 public static extern int mixerGetLineInfo(IntPtr hmxobj, ref MIXERLINE pmxl, int fdwInfo);