我正在尝试使用 Expression Encoder 捕获我的网络摄像头和系统音频,网络摄像头工作正常,但系统音频只是静音。
我在这里按照教程进行操作:CodeProject 表达式编码器教程,但它对我不起作用。
当我列出音频设备时,会列出“扬声器...”、“麦克风...”和“耳机...”(因为它们位于系统托盘中的播放设备中)但如果我尝试从任一扬声器录制或耳机我什么也得不到(如果我选择那个,我会得到很好的麦克风音频)。
这是我正在使用的代码:
job = new LiveJob();
LiveDeviceSource lds = job.AddDeviceSource(ledv[0], leda[1]);
FileArchivePublishFormat fileOut = new FileArchivePublishFormat();
fileOut.OutputFileName = string.Format("C:\\Users\\user1\\Desktop\\testvideo-{0:yyyyMMdd_hhmmss}.wmv", DateTime.Now);
job.PublishFormats.Add(fileOut);
lds.PreviewWindow = new PreviewWindow(new System.Runtime.InteropServices.HandleRef(panel1, panel1.Handle));
job.StartEncoding();
job.ActivateSource(lds);
有谁知道为什么它不录制系统音频?在它应该工作之前,我需要处理任何其他设置吗?
谢谢你的时间。
编辑:
我决定在编码时打印出 job.CurrentAudioVolume 以查看它是否发生了变化,但它总是位于 0。如果我将音频设备更改为麦克风,当有声音时这个值会上升(如预期的那样)。所以看起来 SDK 肯定无法录制我的系统音频(来自扬声器或耳机)。