c# - 捕获 PC 声音

标签 c# .net audio

使用 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# - 捕获 PC 声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17394204/

相关文章:

javascript - 如何使用 howler.js 在客户端播放录制的音频 blob?

c# - 在 C# 中,当您在空对象上调用扩展方法时会发生什么?

c# - 获取屏幕的真实尺寸

c# - 返回 IQueryable 的 Linq 查询中的内部方法

c# - 如何为 WS-Security 生成 UsernameToken?

audio - 使用 FFmpeg 将音频输入与视频混合到特定位置

c# - 如何找出文件的编码? C#

c# - 显示来自 mysql 的选定行。 ( GridView )

.net - silverlight:如何以编程方式设置附加属性

javascript - 将 PCM 数据附加到 MediaSource