gpt4 book ai didi

objective-c - 如何设置绝对音量 -[NSSound setVolume :]? 与系统音量无关?

转载 作者:搜寻专家 更新时间:2023-10-30 19:46:27 26 4
gpt4 key购买 nike

我有一个警报声。我从不希望它“响亮”和令人吃惊,所以我通过 [NSSound setVolume] 将它降低到一个不大声的可听音量。

但好像音量是相对于当前系统音量设置的。因此,如果我在最大系统音量的情况下降低它,在低系统音量的情况下我就听不到了。

如果我使用:[sound setVolume:0.1];

当系统设置为最大音量时,这听起来很棒。但如果系统音量为 1/3,则根本听不到。

基本上我想为声音设置一个最大音量。如果系统音量高于该音量,它将以我预设的最大音量播放。但如果系统音量低于该值,它会根据系统音量降级。

像这样:

系统= 1
-声音 = .3

系统 = .7
-声音 = .3

系统 = .3
-声音 = .3

系统 = .2
-声音 = .2

执行此操作的唯一方法是手动检查系统音量并相应地设置我的声音吗?

最佳答案

NSSound 的音量对应于您在 QuickTime Player、iTunes 等中看到的音量 slider 。它是特定声音的音量,独立于系统音量并且(如您所见)从属于系统音量。

您可以通过查询音频硬件 API 来获取当前系统音量。获取默认的声音输出设备,然后获取其音量。然后您可以查看它是高于还是低于您想要的音量水平。

(值得注意的是,实际上并没有一个全局的“系统卷”。有两个默认输出设备和任意数量的具体输出设备,每个都有自己的卷。“系统卷”一般是指默认输出设备的音量。)

但是请注意,这不是系统上任何其他应用程序的工作方式,因此这种行为对用户来说似乎是不可预测的。预计会出现类似“当系统音量超过某个级别时音量 slider 不起作用”的错误报告。

关于objective-c - 如何设置绝对音量 -[NSSound setVolume :]? 与系统音量无关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12548207/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com