diff --git a/css/icons.scss b/css/icons.scss
index cea8444f252..77155077710 100644
--- a/css/icons.scss
+++ b/css/icons.scss
@@ -64,12 +64,6 @@
&.icon-grid-view {
background-image: url(icon-color-path('toggle-pictures', 'actions', 'fff', 1, true));
}
- &.icon-audio {
- background-image: url(icon-color-path('audio', 'actions', 'fff', 1, true));
- }
- &.icon-audio-off {
- background-image: url(icon-color-path('audio-off', 'actions', 'fff', 1, true));
- }
&.icon-video {
background-image: url(icon-color-path('video', 'actions', 'fff', 1, true));
}
diff --git a/src/components/CallView/CallView.vue b/src/components/CallView/CallView.vue
index b53aa98d6aa..764d8c7385b 100644
--- a/src/components/CallView/CallView.vue
+++ b/src/components/CallView/CallView.vue
@@ -782,7 +782,7 @@ export default {
}
#videos .videoContainer.speaking:not(.videoView) ::v-deep .nameIndicator,
-#videos .videoContainer.videoView.speaking ::v-deep .nameIndicator .icon-audio {
+#videos .videoContainer.videoView.speaking ::v-deep .nameIndicator .microphone-icon {
animation: pulse 1s;
animation-iteration-count: infinite;
}
diff --git a/src/components/CallView/shared/LocalMediaControls.vue b/src/components/CallView/shared/LocalMediaControls.vue
index 5bef8676f8c..47d22810743 100644
--- a/src/components/CallView/shared/LocalMediaControls.vue
+++ b/src/components/CallView/shared/LocalMediaControls.vue
@@ -28,9 +28,14 @@
v-tooltip="audioButtonTooltip"
:aria-label="audioButtonAriaLabel"
:class="audioButtonClass"
- class="forced-white"
@shortkey="toggleAudio"
- @click="toggleAudio" />
+ @click="toggleAudio">
+
+
@@ -161,6 +166,9 @@ import escapeHtml from 'escape-html'
import { emit } from '@nextcloud/event-bus'
import { showMessage } from '@nextcloud/dialogs'
import Hand from 'vue-material-design-icons/Hand'
+import Microphone from 'vue-material-design-icons/Microphone'
+import MicrophoneOff from 'vue-material-design-icons/MicrophoneOff'
+import MicrophoneOutline from 'vue-material-design-icons/MicrophoneOutline'
import Popover from '@nextcloud/vue/dist/Components/Popover'
import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'
import SpeakingWhileMutedWarner from '../../../utils/webrtc/SpeakingWhileMutedWarner'
@@ -184,6 +192,9 @@ export default {
ActionSeparator,
ActionButton,
Hand,
+ Microphone,
+ MicrophoneOff,
+ MicrophoneOutline,
},
props: {
@@ -231,13 +242,21 @@ export default {
audioButtonClass() {
return {
- 'icon-audio': this.model.attributes.audioAvailable && this.model.attributes.audioEnabled,
'audio-disabled': this.model.attributes.audioAvailable && !this.model.attributes.audioEnabled,
- 'icon-audio-off': !this.model.attributes.audioAvailable || !this.model.attributes.audioEnabled,
'no-audio-available': !this.model.attributes.audioAvailable,
}
},
+ audioButtonComponent() {
+ if (this.model.attributes.audioAvailable) {
+ if (this.model.attributes.audioEnabled) {
+ return 'Microphone'
+ }
+ return 'MicrophoneOff'
+ }
+ return 'MicrophoneOutline'
+ },
+
audioButtonTooltip() {
if (!this.model.attributes.audioAvailable) {
return {
@@ -770,7 +789,7 @@ export default {
opacity: 0.7;
}
-#muteWrapper .icon-audio-off + .volume-indicator {
+#muteWrapper .microphone-off-icon + .volume-indicator {
background: linear-gradient(0deg, gray, white 36px);
}
diff --git a/src/components/MediaDevicesPreview.vue b/src/components/MediaDevicesPreview.vue
index ab96a9bc0d0..7215832d118 100644
--- a/src/components/MediaDevicesPreview.vue
+++ b/src/components/MediaDevicesPreview.vue
@@ -30,10 +30,16 @@
class="preview-not-available">
-
-
+
+
@@ -44,7 +50,10 @@
reference is always valid once mounted. -->