捕获PC声音

时间:2013-06-30 19:45:22

标签: c# .net audio

使用C#,我试图捕获PC正在播放的音频,而不使用WASAPI和环回,因为看起来我的声卡不支持它。 TeamViewer等程序如何做到这一点?当我使用它时,人们可以从我的电脑上听到音频。

1 个答案:

答案 0 :(得分:3)

您可以尝试使用Expression Encoder SDK:http://www.microsoft.com/de-de/download/details.aspx?id=18974我不完全确定您是否可以重新分发它,并且可能需要在目标计算机上安装它。但您可以非常轻松地使用它来记录桌面上的音频和视频:

        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();

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