针对音量识别失败的容错功能

This commit is contained in:
ZouJin 2023-08-15 14:04:08 +10:00
parent 24c07f7018
commit b682f95ce1

View File

@ -470,11 +470,35 @@ namespace VPet_Simulator.Windows
}
}
}
private bool? AudioPlayingVolumeOK = null;
/// <summary>
/// 获得当前系统音乐播放音量
/// </summary>
public float AudioPlayingVolume()
{
if (AudioPlayingVolumeOK == null)
{
try
{
float vol = 0;
using (var enumerator = new MMDeviceEnumerator())
{
using (var meter = AudioMeterInformation.FromDevice(enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Multimedia)))
{
vol = meter.GetPeakValue();
AudioPlayingVolumeOK = true;
}
}
}
catch
{
AudioPlayingVolumeOK = false;
}
}
else if (AudioPlayingVolumeOK == false)
{
return -1;
}
using (var enumerator = new MMDeviceEnumerator())
{
using (var meter = AudioMeterInformation.FromDevice(enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Multimedia)))