Remember the media playback volume (#4089)

* Remember the media playback volume

* fix
This commit is contained in:
MeiMei 2019-02-03 19:33:23 +09:00 committed by syuilo
parent 217e4ee39c
commit 64c1075b06
3 changed files with 21 additions and 4 deletions

View file

@ -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>

View file

@ -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>

View file

@ -56,6 +56,7 @@ const defaultDeviceSettings = {
themes: [],
enableSounds: true,
soundVolume: 0.5,
mediaVolume: 0.5,
lang: null,
preventUpdate: false,
debug: false,