最大声级是多少

Posted

技术标签:

【中文标题】最大声级是多少【英文标题】:What is the maximum sound level 【发布时间】:2011-12-13 10:49:05 【问题描述】:

我正在创建一个小闹钟,在启动闹钟之前必须将扬声器音量设置为最大。一切正常,但我不知道扬声器的最大值是多少。你们中有人知道或知道我在哪里可以找到它吗?

这是我设置扬声器音量的方法:

defaultDevice.AudioEndpointVolume.MasterVolumeLevel = 1;

BR

【问题讨论】:

我猜最大值是 100? 这与 WPF 或 .net-4.0 无关,所以我删除了这些标签。你用的是什么音频库? 应该是 11。这样,如果有人把它一直调到 10,但又想大声一点,他们可以把它调到 11。/spinal Tap。 当我将它设置为 1 时,它在测试计算机上工作,但是当我尝试将它设置为 3 时,它在某些计算机上崩溃,并显示值超出范围的消息。这就是为什么我想为每台计算机找到***别 【参考方案1】:

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

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

感谢您的帮助

【讨论】:

【参考方案2】:

看看IAudioEndpointVolume::GetVolumeRange API。它会为您提供以分贝为单位的音量范围。

【讨论】:

嘿,我有这两个音频设备private readonly MMDeviceEnumerator devEnum = new MMDeviceEnumerator(); private readonly MMDevice defaultDevice;,但我找不到 getVolumeRange - 只有一个我不知道如何使用的 VolumeRange。你能举个例子吗?【参考方案3】:

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

【讨论】:

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

以上是关于最大声级是多少的主要内容,如果未能解决你的问题,请参考以下文章

MySQL VARCHAR 的最大大小是多少?

Oracle中表名的最大长度是多少?

ResultSet 的最大识别提取大小是多少[关闭]

react的最大更新深度是多少?

Mysql一个表中 最多能存多少文字? 一列中varchar最大值允许多少?

手机wifi5的最大速度是多少?