|
@@ -41,7 +41,12 @@ type Props = AudioSettingsEntryProps & {
|
41
|
41
|
* Click handler for component.
|
42
|
42
|
*/
|
43
|
43
|
onClick: Function,
|
44
|
|
- listHeaderId: string
|
|
44
|
+ listHeaderId: string,
|
|
45
|
+
|
|
46
|
+ /**
|
|
47
|
+ * Used to decide whether to listen to audio level changes.
|
|
48
|
+ */
|
|
49
|
+ measureAudioLevels: boolean,
|
45
|
50
|
}
|
46
|
51
|
|
47
|
52
|
type State = {
|
|
@@ -129,9 +134,9 @@ export default class MicrophoneEntry extends Component<Props, State> {
|
129
|
134
|
* @returns {void}
|
130
|
135
|
*/
|
131
|
136
|
_startListening() {
|
132
|
|
- const { jitsiTrack } = this.props;
|
|
137
|
+ const { jitsiTrack, measureAudioLevels } = this.props;
|
133
|
138
|
|
134
|
|
- jitsiTrack && jitsiTrack.on(
|
|
139
|
+ jitsiTrack && measureAudioLevels && jitsiTrack.on(
|
135
|
140
|
JitsiTrackEvents.TRACK_AUDIO_LEVEL_CHANGED,
|
136
|
141
|
this._updateLevel);
|
137
|
142
|
}
|
|
@@ -185,20 +190,32 @@ export default class MicrophoneEntry extends Component<Props, State> {
|
185
|
190
|
* @inheritdoc
|
186
|
191
|
*/
|
187
|
192
|
render() {
|
188
|
|
-
|
189
|
|
- const { deviceId, children, hasError, index, isSelected, length, jitsiTrack, listHeaderId } = this.props;
|
|
193
|
+ const {
|
|
194
|
+ deviceId,
|
|
195
|
+ children,
|
|
196
|
+ hasError,
|
|
197
|
+ index,
|
|
198
|
+ isSelected,
|
|
199
|
+ length,
|
|
200
|
+ jitsiTrack,
|
|
201
|
+ listHeaderId,
|
|
202
|
+ measureAudioLevels
|
|
203
|
+ } = this.props;
|
190
|
204
|
|
191
|
205
|
const deviceTextId: string = `choose_microphone${deviceId}`;
|
192
|
206
|
|
193
|
207
|
const labelledby: string = `${listHeaderId} ${deviceTextId} `;
|
194
|
208
|
|
|
209
|
+ const className = `audio-preview-microphone ${measureAudioLevels
|
|
210
|
+ ? 'audio-preview-microphone--withmeter' : 'audio-preview-microphone--nometer'}`;
|
|
211
|
+
|
195
|
212
|
return (
|
196
|
213
|
<li
|
197
|
214
|
aria-checked = { isSelected }
|
198
|
215
|
aria-labelledby = { labelledby }
|
199
|
216
|
aria-posinset = { index }
|
200
|
217
|
aria-setsize = { length }
|
201
|
|
- className = 'audio-preview-microphone'
|
|
218
|
+ className = { className }
|
202
|
219
|
onClick = { this._onClick }
|
203
|
220
|
onKeyPress = { this._onKeyPress }
|
204
|
221
|
role = 'radio'
|
|
@@ -209,7 +226,7 @@ export default class MicrophoneEntry extends Component<Props, State> {
|
209
|
226
|
labelId = { deviceTextId }>
|
210
|
227
|
{children}
|
211
|
228
|
</AudioSettingsEntry>
|
212
|
|
- { Boolean(jitsiTrack) && <Meter
|
|
229
|
+ { Boolean(jitsiTrack) && measureAudioLevels && <Meter
|
213
|
230
|
className = 'audio-preview-meter-mic'
|
214
|
231
|
isDisabled = { hasError }
|
215
|
232
|
level = { this.state.level } />
|