public MixerLine(IntPtr mixerHandle, int destinationIndex, MixerFlags mixerHandleType) { this.mixerHandle = mixerHandle; this.mixerHandleType = mixerHandleType; this.mixerLine = default(MixerInterop.MIXERLINE); this.mixerLine.cbStruct = Marshal.SizeOf(this.mixerLine); this.mixerLine.dwDestination = destinationIndex; MmException.Try(MixerInterop.mixerGetLineInfo(mixerHandle, ref this.mixerLine, mixerHandleType), "mixerGetLineInfo"); }
/// <summary> /// Creates a new Mixer Source For a Specified Source /// </summary> /// <param name="mixerHandle">Mixer Handle</param> /// <param name="destinationIndex">Destination Index</param> /// <param name="sourceIndex">Source Index</param> /// <param name="mixerHandleType">Flag indicating the meaning of mixerHandle</param> public MixerLine(IntPtr mixerHandle, int destinationIndex, int sourceIndex, MixerFlags mixerHandleType) { this.mixerHandle = mixerHandle; this.mixerHandleType = mixerHandleType; mixerLine = new MixerInterop.MIXERLINE(); mixerLine.cbStruct = Marshal.SizeOf(mixerLine); mixerLine.dwDestination = destinationIndex; mixerLine.dwSource = sourceIndex; MmException.Try(MixerInterop.mixerGetLineInfo(mixerHandle, ref mixerLine, mixerHandleType | MixerFlags.GetLineInfoOfSource), "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; }