【发布时间】:2014-05-01 18:57:55
【问题描述】:
我正在尝试使用 Expression Encoder 捕获我的网络摄像头和系统音频,网络摄像头工作正常,但系统音频只是静音。
我按照这里的教程进行操作:CodeProject Expression Encoder Tutorial,但它对我不起作用。
当我列出音频设备时,会列出“扬声器...”、“麦克风...”和“耳机...”(因为它们位于系统托盘的播放设备中),但如果我尝试录制从扬声器或耳机我什么都得不到(如果我选择那个,我会得到很好的麦克风音频)。
这是我正在使用的代码:
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 肯定无法录制我的系统音频(来自扬声器或耳机)。
【问题讨论】:
标签: c# audio-recording expression-encoder expression-encoder-sdk expression-encoder-4