但似乎音量是相对于当前系统音量设置的.因此,如果我针对max-system-volume的情况减少它,我在低系统容量的情况下听不到它.
如果我使用:[sound setVolume:0.1];
当系统设置为满音量时听起来很棒.但如果系统音量为1/3,则根本听不见.
基本上我想为声音设置最大音量.如果系统音量高于该音量,它将以我预设的最大音量播放.但是,如果系统容量低于系统容量,则会根据系统容量降低系统容量.
像这样:
系统= 1
-Sound = .3
系统= .7
-Sound = .3
系统= .3
-Sound = .3
系统= .2
-Sound = .2
唯一的方法是手动检查系统音量并相应地设置我的声音吗?
解决方法 NSSound的音量对应于您在QuickTime播放器,iTunes等中看到的音量滑块.它是特定声音的音量,与系统音量相关的和(如您所见)分开.您可以通过查询Audio HarDWare API来获取当前系统卷.获取默认声音输出设备,然后获取其音量.然后,您可以查看它是否高于或低于您想要的音量级别.
(值得注意的是,实际上没有一个全局“系统卷”.有两个默认输出设备和任意数量的具体输出设备,每个都有自己的卷.“系统卷”通常是指默认输出设备的音量.)
但请注意,这不是系统上任何其他应用程序的工作方式,因此这种行为对用户来说似乎是不可预测的.预计错误报告的行为“当系统音量超过一定水平时,音量滑块不起作用”.
总结以上是内存溢出为你收集整理的objective-c – 如何用 – [NSSound setVolume:]设置绝对音量?与系统容量无关?全部内容,希望文章能够帮你解决objective-c – 如何用 – [NSSound setVolume:]设置绝对音量?与系统容量无关?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)