/// <summary> /// Creates a new mixer destination /// </summary> /// <param name="mixerHandle">Mixer Handle</param> /// <param name="destinationIndex">Destination Index</param> /// <param name="mixerHandleType">Mixer Handle Type</param> public MixerLine(IntPtr mixerHandle, int destinationIndex, MixerFlags mixerHandleType) { this.mixerHandle = mixerHandle; this.mixerHandleType = mixerHandleType; mixerLine = new MixerInterop.MIXERLINE(); mixerLine.cbStruct = Marshal.SizeOf(mixerLine); mixerLine.dwDestination = destinationIndex; MmException.Try(MixerInterop.mixerGetLineInfo(mixerHandle, ref mixerLine, mixerHandleType | MixerFlags.GetLineInfoOfDestination), "mixerGetLineInfo"); }
/// <summary> /// Creates a new Mixer Source /// </summary> /// <param name="nMixer">Mixer ID</param> /// <param name="nDestination">Destination ID</param> /// <param name="nSource">Source ID</param> public MixerSource(IntPtr mixerHandle, int nDestination, int nSource) { mixerLine = new MixerInterop.MIXERLINE(); mixerLine.cbStruct = Marshal.SizeOf(mixerLine); mixerLine.dwDestination = nDestination; mixerLine.dwSource = nSource; MmException.Try(MixerInterop.mixerGetLineInfo(mixerHandle, ref mixerLine, MixerInterop.MIXER_GETLINEINFOF_SOURCE), "mixerGetLineInfo"); this.mixerHandle = mixerHandle; this.nDestination = nDestination; this.nSource = nSource; }
public static extern MmResult mixerGetLineInfo(IntPtr hMixer, ref MixerInterop.MIXERLINE mixerLine, MixerFlags dwInfoFlags);