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

最佳答案

您可以尝试使用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文件的引用,才能使用Encoder SDK。

关于c# - 捕捉电脑声音,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17394204/

10-12 21:29