Я пытаюсь захватить звук 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 работает нормально, даже без открытых свойств.
Как я могу это исправить?