gpt4 book ai didi

c - 静音状态未知时如何编写静音逻辑

转载 作者:行者123 更新时间:2023-11-30 16:02:58 24 4
gpt4 key购买 nike

我正在为 OSS4 编写一个指示器声音克隆。现在设置音量工作正常,但我在程序的静音方面遇到了麻烦。

关于 OSS4 中静音的一些事实:

  • vmix 没有静音(我们使用 vmix 进行音量控制)
  • 此外,控制音量的“媒体键”方式不会设置静音控制,而是音量 = 0

这样做的问题是,当读取 vmix 音量并遇到零时,我们不知道用户是否实际上将其设置为零,或者将其设置为其他值,但已启用静音。

当OSS4的vmix中没有中央静音的概念并且其他音量 Controller 在内部处理静音时,我应该如何编写静音逻辑?

git code, if that helps

最佳答案

我不熟悉 vmixOSS 所以这可能还很遥远......

您可以向自己的系统添加两个变量:一个用于维持静音状态的标志,以及一个用于维持最近未静音音量的值。

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

当用户打开静音时,您可以设置静音标志(可以反射(reflect)在 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

关于c - 静音状态未知时如何编写静音逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4538718/

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