【发布时间】:2017-02-08 21:15:54
【问题描述】:
我正在尝试捕获 MIC (DataFlow.Capture) 的声音,但 AudioMeterInformation.PeakValues 仅在声音属性打开时才有效(控制 mmsys.cpl 声音)
工作示例
但是当我关闭声音属性时..
我的代码
private void calculateChannels(Object source, ElapsedEventArgs e)
{
dev = devEnum.GetDefaultAudioEndpoint(DataFlow.Capture, Role.Multimedia);
try
{
double currentLeftChannel = 100 - (dev.AudioMeterInformation.PeakValues[0] * 100);
double currentRightChannel = 100 - (dev.AudioMeterInformation.PeakValues[1] * 100);
// this function just "smooth" the progress bar
this.leftChannel = round(this.leftChannel, currentLeftChannel);
this.rightChannel = round(this.rightChannel, currentRightChannel);
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
我在结果上使用(-100),因为我的进度条是倒置的(黑色实际上是进度)
DataFlow.Render 工作正常,即使没有打开属性。
我该如何解决这个问题?
【问题讨论】: