コード例 #1
0
ファイル: WasapiCapture.cs プロジェクト: dmitten/HoloToolkit
        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());
        }
コード例 #2
0
ファイル: WasapiOut.cs プロジェクト: dmitten/HoloToolkit
        /// <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");
        }