소스 검색

fix(always-on-top) Fix audio mute button disabled status

master
Horatiu Muresan 3 년 전
부모
커밋
eb64ea6aba
No account linked to committer's email address
4개의 변경된 파일20개의 추가작업 그리고 4개의 파일을 삭제
  1. 4
    0
      modules/API/API.js
  2. 12
    0
      modules/API/external/external_api.js
  3. 3
    3
      react/features/always-on-top/AudioMuteButton.js
  4. 1
    1
      react/features/toolbox/functions.any.js

+ 4
- 0
modules/API/API.js 파일 보기

88
 import { playSharedVideo, stopSharedVideo } from '../../react/features/shared-video/actions.any';
88
 import { playSharedVideo, stopSharedVideo } from '../../react/features/shared-video/actions.any';
89
 import { extractYoutubeIdOrURL } from '../../react/features/shared-video/functions';
89
 import { extractYoutubeIdOrURL } from '../../react/features/shared-video/functions';
90
 import { toggleRequestingSubtitles, setRequestingSubtitles } from '../../react/features/subtitles/actions';
90
 import { toggleRequestingSubtitles, setRequestingSubtitles } from '../../react/features/subtitles/actions';
91
+import { isAudioMuteButtonDisabled } from '../../react/features/toolbox/functions';
91
 import { toggleTileView, setTileView } from '../../react/features/video-layout';
92
 import { toggleTileView, setTileView } from '../../react/features/video-layout';
92
 import { muteAllParticipants } from '../../react/features/video-menu/actions';
93
 import { muteAllParticipants } from '../../react/features/video-menu/actions';
93
 import { setVideoQuality } from '../../react/features/video-quality';
94
 import { setVideoQuality } from '../../react/features/video-quality';
700
         case 'is-audio-muted':
701
         case 'is-audio-muted':
701
             callback(APP.conference.isLocalAudioMuted());
702
             callback(APP.conference.isLocalAudioMuted());
702
             break;
703
             break;
704
+        case 'is-audio-disabled':
705
+            callback(isAudioMuteButtonDisabled(APP.store.getState()));
706
+            break;
703
         case 'is-moderation-on': {
707
         case 'is-moderation-on': {
704
             const { mediaType } = request;
708
             const { mediaType } = request;
705
             const type = mediaType || MEDIA_TYPE.AUDIO;
709
             const type = mediaType || MEDIA_TYPE.AUDIO;

+ 12
- 0
modules/API/external/external_api.js 파일 보기

927
         });
927
         });
928
     }
928
     }
929
 
929
 
930
+    /**
931
+     * Returns the audio disabled status.
932
+     *
933
+     * @returns {Promise} - Resolves with the audio disabled status and rejects on
934
+     * failure.
935
+     */
936
+    isAudioDisabled() {
937
+        return this._transport.sendRequest({
938
+            name: 'is-audio-disabled'
939
+        });
940
+    }
941
+
930
     /**
942
     /**
931
      * Returns the moderation on status on the given mediaType.
943
      * Returns the moderation on status on the given mediaType.
932
      *
944
      *

+ 3
- 3
react/features/always-on-top/AudioMuteButton.js 파일 보기

69
         Promise.all([
69
         Promise.all([
70
             api.isAudioAvailable(),
70
             api.isAudioAvailable(),
71
             api.isAudioMuted(),
71
             api.isAudioMuted(),
72
-            api.isStartSilent()
72
+            api.isAudioDisabled?.() || Promise.resolve(false)
73
         ])
73
         ])
74
-            .then(([ audioAvailable, audioMuted, startSilent ]) =>
74
+            .then(([ audioAvailable, audioMuted, audioDisabled ]) =>
75
                 this.setState({
75
                 this.setState({
76
-                    audioAvailable: audioAvailable && !startSilent,
76
+                    audioAvailable: audioAvailable && !audioDisabled,
77
                     audioMuted
77
                     audioMuted
78
                 }))
78
                 }))
79
             .catch(console.error);
79
             .catch(console.error);

+ 1
- 1
react/features/toolbox/functions.any.js 파일 보기

10
     const { available, muted, unmuteBlocked } = state['features/base/media'].audio;
10
     const { available, muted, unmuteBlocked } = state['features/base/media'].audio;
11
     const { startSilent } = state['features/base/config'];
11
     const { startSilent } = state['features/base/config'];
12
 
12
 
13
-    return !available || startSilent || (muted && unmuteBlocked);
13
+    return Boolean(!available || startSilent || (muted && unmuteBlocked));
14
 }
14
 }

Loading…
취소
저장