最大音量是多少?

4
我正在创建一个小型闹钟,在启动闹钟之前需要将扬声器音量设置为最大。所有东西都正常工作,但我不知道扬声器的最大值是多少。你们中是否有人知道或知道我可以在哪里找到它?
以下是我如何设置扬声器音量:
defaultDevice.AudioEndpointVolume.MasterVolumeLevel = 1;

BR


我猜最大值会是100? - Bali C
这与WPF或.net-4.0无关,因此我删除了那些标签。您使用哪个音频库? - Merlyn Morgan-Graham
应该是11。这样,如果有人把它调到10但想要更响一点,他们可以把它调到11。/脊柱头。 - PaulG
当我将其设置为1时,它在测试计算机上运行正常,但是当我尝试将其设置为3时,一些计算机会崩溃,并显示数值超出范围的消息。这就是为什么我想要找到每台计算机的最大级别。 - 7heViking
3个回答

4

有了您的提示,我找到了答案。我的问题的正确答案是:

defaultDevice.AudioEndpointVolume.MasterVolumeLevel = defaultDevice.AudioEndpointVolume.VolumeRange.MaxdB;

感谢你的帮助。

2

嘿,我有这两个音频设备 private readonly MMDeviceEnumerator devEnum = new MMDeviceEnumerator(); private readonly MMDevice defaultDevice; 但是我找不到 getVolumeRange 方法 - 只有一个 VolumeRange,我不知道如何使用。你能给我一个使用示例吗? - 7heViking

1
如果您正在使用IAudioEndpointVolume接口,它有一个GetVolumeRange方法,可以获取以分贝为单位的音量范围。

嘿,我有这两个音频设备 private readonly MMDeviceEnumerator devEnum = new MMDeviceEnumerator(); private readonly MMDevice defaultDevice; 但是我找不到 getVolumeRange 方法 - 只有一个 VolumeRange,我不知道如何使用。你能给我一个使用示例吗? - 7heViking
1
你所看到的是C++和C#之间的区别。在线文档是针对C++的,它没有属性,因此使用Get和Set前缀。在C#中,相同的方法变成了属性,因此Get/Set前缀对您不可见。 - Polyfun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接