diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2019-02-03 19:33:23 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2019-02-03 19:33:23 +0900 |
| commit | 64c1075b06e2de944aa2151ca0d0936cad1c02bb (patch) | |
| tree | a8a63df65f33547f849b89de1afd8539633e5f51 | |
| parent | New translations ja-JP.yml (Korean) (#4110) (diff) | |
| download | sharkey-64c1075b06e2de944aa2151ca0d0936cad1c02bb.tar.gz sharkey-64c1075b06e2de944aa2151ca0d0936cad1c02bb.tar.bz2 sharkey-64c1075b06e2de944aa2151ca0d0936cad1c02bb.zip | |
Remember the media playback volume (#4089)
* Remember the media playback volume
* fix
| -rw-r--r-- | src/client/app/common/views/components/media-banner.vue | 13 | ||||
| -rw-r--r-- | src/client/app/desktop/views/components/media-video-dialog.vue | 11 | ||||
| -rw-r--r-- | src/client/app/store.ts | 1 |
3 files changed, 21 insertions, 4 deletions
diff --git a/src/client/app/common/views/components/media-banner.vue b/src/client/app/common/views/components/media-banner.vue index 17e4dd6041..8a6f377f01 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" /> </div> <a class="download" v-else @@ -40,7 +41,17 @@ export default Vue.extend({ return { hide: true }; - } + }, + mounted() { + const audioTag = this.$refs.audio as HTMLAudioElement; + audioTag.volume = this.$store.state.device.mediaVolume; + }, + methods: { + volumechange() { + const audioTag = this.$refs.audio as HTMLAudioElement; + this.$store.commit('device/set', { key: 'mediaVolume', value: audioTag.volume }); + }, + }, }) </script> 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 cb112e5266..3c682ecefb 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 @@ <template> <div class="mk-media-video-dialog"> <div class="bg" @click="close"></div> - <video :src="video.url" :title="video.name" controls autoplay ref="video"/> + <video :src="video.url" :title="video.name" controls autoplay ref="video" @volumechange="volumechange"/> </div> </template> @@ -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 }); + }, } }); </script> diff --git a/src/client/app/store.ts b/src/client/app/store.ts index 46655b7bd5..8cde2d3595 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, |