我不熟悉,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