akkoma-fe/src/components/video_attachment/video_attachment.js

32 lines
1 KiB
JavaScript
Raw Normal View History

2019-01-26 15:45:03 +00:00
const VideoAttachment = {
props: ['attachment', 'controls'],
data () {
return {
loopVideo: this.$store.getters.mergedConfig.loopVideo
2019-01-26 15:45:03 +00:00
}
},
methods: {
onVideoDataLoad (e) {
const target = e.srcElement || e.target
if (typeof target.webkitAudioDecodedByteCount !== 'undefined') {
// non-zero if video has audio track
if (target.webkitAudioDecodedByteCount > 0) {
this.loopVideo = this.loopVideo && !this.$store.getters.mergedConfig.loopVideoSilentOnly
2019-01-26 15:45:03 +00:00
}
} else if (typeof target.mozHasAudio !== 'undefined') {
// true if video has audio track
if (target.mozHasAudio) {
this.loopVideo = this.loopVideo && !this.$store.getters.mergedConfig.loopVideoSilentOnly
2019-01-26 15:45:03 +00:00
}
} else if (typeof target.audioTracks !== 'undefined') {
if (target.audioTracks.length > 0) {
this.loopVideo = this.loopVideo && !this.$store.getters.mergedConfig.loopVideoSilentOnly
2019-01-26 15:45:03 +00:00
}
}
}
}
}
export default VideoAttachment