2010-12-27 3 views
0

OSS4의 복제본을 indicator-sound 쓰고 있습니다. 볼륨을 올바르게 설정하면 문제가 발생하지만 프로그램의 음소거 측면에 문제가 있습니다.음소거 상태를 알 수 없을 때 음소거 논리를 작성하는 방법

OSS4에 음소거에 대한 사실의 몇 :

  • vmix가 음소거가없는 (그리고 우리는 볼륨 제어를위한 vmix 사용)
  • 또한, 볼륨 아무튼를 제어하는 ​​'미디어 키'방식

이 문제는 vmix 볼륨을 읽었을 때 0이 발생할 때 사용자가 실제로 0으로 설정했는지 여부를 알 수 없거나 또는 음소거 컨트롤을 설정하지 않은 것입니다. 다른 값으로 설정했으나 음소거되어 있습니다.

OSS4의 vmix 및 다른 볼륨 컨트롤러에서 중앙 음소거의 개념이 없으면 내 음소거를 어떻게 처리해야합니까?

git code, if that helps

답변

1

나는

당신은 당신의 자신의 시스템에 두 개의 변수를 추가 할 수 있습니다 .. 그래서이 방법으로 해제 될 수 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 
+0

을 바로 가기 키도 있지만, 나는 그것을 줄 것이다. 감사! –

+0

불행히도, 이것은 여전히 ​​2 개의 뮤트 핸들러가 있다는 문제가 있습니다. 하나는이 프로그램에, 다른 하나는 프로그램 외부의 미디어 단축키 처리기에서 가져온 것입니다. '음소거 키'를 누를 때 음소거를 알지 못하는 등의 문제가 발생합니다. –

+0

대단합니다. 바로 가기 키 이벤트에 연결할 수 있습니까? – mtrw

관련 문제