private async Task <IAudioClient2> Activate() { ActivateAudioInterfaceCompletionHandler activateCompletionHandler = new ActivateAudioInterfaceCompletionHandler( audioClient2 => { this.InitializeCaptureDevice(audioClient2); }); Guid IID_IAudioClient2 = new Guid("726778CD-F60A-4eda-82DE-E47610CD78AA"); IActivateAudioInterfaceAsyncOperation activationOperation; // This call must be made on the main UI thread. NativeMethods.ActivateAudioInterfaceAsync(this.device, IID_IAudioClient2, IntPtr.Zero, activateCompletionHandler, out activationOperation); return(await activateCompletionHandler.GetTask()); }
/// <summary> /// Create, activate and initialize the AudioClient /// </summary> /// <returns></returns> private async Task Activate() { this.EventWriterDLL.BuildLine("+2 start => WasapiOutRT::Activate => starting"); var activateCompletionHandler = new ActivateAudioInterfaceCompletionHandler( (audioClient2) => { this.InitializeAudio(audioClient2); }); this.EventWriterDLL.BuildLine("+3 start => WasapiOutRT::Activate => getting default audio stream"); var IID_IAudioClient2 = new Guid("726778CD-F60A-4eda-82DE-E47610CD78AA"); IActivateAudioInterfaceAsyncOperation activationOperation; NativeMethods.ActivateAudioInterfaceAsync(this.device, IID_IAudioClient2, IntPtr.Zero, activateCompletionHandler, out activationOperation); await activateCompletionHandler.GetTask(); this.EventWriterDLL.BuildLine("+5 start => WasapiOutRT::Activate => creating AudioClient"); }