diff --git a/src/client/app/common/views/components/media-banner.vue b/src/client/app/common/views/components/media-banner.vue index 17e4dd604..8a6f377f0 100644 --- a/src/client/app/common/views/components/media-banner.vue +++ b/src/client/app/common/views/components/media-banner.vue @@ -11,6 +11,7 @@ :title="media.name" controls ref="audio" + @volumechange="volumechange" preload="metadata" /> diff --git a/src/client/app/desktop/views/components/media-video-dialog.vue b/src/client/app/desktop/views/components/media-video-dialog.vue index cb112e526..3c682ecef 100644 --- a/src/client/app/desktop/views/components/media-video-dialog.vue +++ b/src/client/app/desktop/views/components/media-video-dialog.vue @@ -1,7 +1,7 @@ @@ -18,8 +18,9 @@ export default Vue.extend({ duration: 100, easing: 'linear' }); - const videoTag = this.$refs.video as HTMLVideoElement + const videoTag = this.$refs.video as HTMLVideoElement; if (this.start) videoTag.currentTime = this.start + videoTag.volume = this.$store.state.device.mediaVolume; }, methods: { close() { @@ -30,7 +31,11 @@ export default Vue.extend({ easing: 'linear', complete: () => this.destroyDom() }); - } + }, + volumechange() { + const videoTag = this.$refs.video as HTMLVideoElement; + this.$store.commit('device/set', { key: 'mediaVolume', value: videoTag.volume }); + }, } }); diff --git a/src/client/app/store.ts b/src/client/app/store.ts index 46655b7bd..8cde2d359 100644 --- a/src/client/app/store.ts +++ b/src/client/app/store.ts @@ -56,6 +56,7 @@ const defaultDeviceSettings = { themes: [], enableSounds: true, soundVolume: 0.5, + mediaVolume: 0.5, lang: null, preventUpdate: false, debug: false,