C 当静音状态未知时,如何写入静音逻辑
我正在为OSS4编写一个C 当静音状态未知时,如何写入静音逻辑,c,mute,open-source,C,Mute,Open Source,我正在为OSS4编写一个指示器声音克隆。设置音量现在可以了,但是我的程序在静音方面遇到了问题 关于OSS4中静音的几个事实: vmix没有静音(我们使用vmix进行音量控制) 此外,控制音量的“媒体键”方式并没有设置静音控制,而是音量=0 问题是,当读取vmix卷并遇到零时,我们不知道用户是否已将其实际设置为零,或已将其设置为其他值,但已启用静音 当OSS4的vmix中没有中央静音的概念,而其他音量控制器在内部处理静音时,我应该如何编写静音逻辑 我不熟悉vmix或OSS,所以这可能有点离题
指示器声音
克隆。设置音量现在可以了,但是我的程序在静音方面遇到了问题
关于OSS4中静音的几个事实:
- vmix没有静音(我们使用vmix进行音量控制)
- 此外,控制音量的“媒体键”方式并没有设置静音控制,而是音量=0
我不熟悉
vmix
或OSS
,所以这可能有点离题
您可以向自己的系统添加两个变量:一个用于保持静音状态的标志,以及一个用于保持最近未静音卷的值
OnMuteEvent
if MuteFlag //we were muted, now unmuting
MuteFlag = False
vmix current volume = LastVolume
else //we were unmuted, now muting
MuteFlag = True
LastVolume = vmix current volume
vmix current volume = 0
当用户打开静音时,您可以设置静音标志(可以反映在UI上),并记录音量值,然后将音量设置为0。当用户取消静音时,将卷设置回记录的值并清除该标志
如果您的应用程序可以在用户可能已设置静音状态时启动,则可以按如下方式初始化:
if vmix.volume is 0 //might be mute!
MuteFlag = True //assume it was due to being muted
LastVolume = MaxVolume/2 //some sensible volume for when we unmute
我相信,当处理媒体热键的程序也能保持静音状态时,可能会出现问题,但我会尝试一下。谢谢不幸的是,这仍然存在一个问题,即现在有两个静音处理程序;一个在这个程序中,另一个在我的程序之外的媒体热键处理程序中。出现问题,例如按下“静音键”时不知道它是静音的。这很难。你能参与热键活动吗?