我正在为indicator-sound编写一个OSS4克隆人。现在设置音量很好,但是我在程序的静音方面遇到了麻烦。
关于在OSS4中静音的几个事实:
这方面的问题是,当读取vmix卷并遇到零时,我们不知道用户是否实际将其设置为零,或者是否将其设置为其他值,但仍然保持静音。
如果在OSS4的vmix中没有中央静音的概念,而其他卷控制器在内部处理静音,我应该如何编写静音逻辑?
git代码,如果这有帮助的话
发布于 2010-12-27 13:11:29
我对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 unmutehttps://stackoverflow.com/questions/4538718
复制相似问题