C# 捕获PC声音

C# 捕获PC声音,c#,.net,audio,C#,.net,Audio,使用C#,我试图捕获PC正在播放的音频,而不使用WASAPI和环回,因为我的声卡似乎不支持它。像TeamViewer这样的程序是如何做到的?当我使用Expression Encoder SDK时,人们可以从我的电脑中听到音频。您可以尝试使用Expression Encoder SDK:我不完全确定是否允许您重新分发它,并且可能需要在目标计算机上安装它。但您可以非常轻松地使用它从桌面录制音频和视频: var j = new Microsoft.Expression.Encoder.

使用C#,我试图捕获PC正在播放的音频,而不使用WASAPI和环回,因为我的声卡似乎不支持它。像TeamViewer这样的程序是如何做到的?当我使用Expression Encoder SDK时,人们可以从我的电脑中听到音频。

您可以尝试使用Expression Encoder SDK:我不完全确定是否允许您重新分发它,并且可能需要在目标计算机上安装它。但您可以非常轻松地使用它从桌面录制音频和视频:

        var j = new Microsoft.Expression.Encoder.ScreenCapture.ScreenCaptureJob();
        j.OutputScreenCaptureFileName = @"C:\Users\Dominik\Desktop\test.wmv";
        //j.AddAudioDeviceSource(Microsoft.Expression.Encoder.Devices.EncoderDevices.FindDevices(Microsoft.Expression.Encoder.Devices.EncoderDeviceType.Audio);
        var audioDevices = Microsoft.Expression.Encoder.Devices.EncoderDevices.FindDevices(Microsoft.Expression.Encoder.Devices.EncoderDeviceType.Audio);
        var videoDevices = Microsoft.Expression.Encoder.Devices.EncoderDevices.FindDevices(Microsoft.Expression.Encoder.Devices.EncoderDeviceType.Video);
        j.AddAudioDeviceSource(audioDevices.ElementAt(1));
        j.Start();

要使用编码器SDK,您需要在C:\Program files(x86)\Microsoft Expression\Encoder 4\SDK中添加对.dll文件的引用。

可能会重复使用环回的答案,我的声卡不支持。