Add seek support to transcriptions

This commit is contained in:
mfcar 2024-05-04 12:21:07 +01:00
parent 8e5fc4a411
commit ee8e7cf958
No known key found for this signature in database
3 changed files with 17 additions and 4 deletions

View file

@ -56,7 +56,10 @@
@showTranscription="showTranscriptionUi = !showTranscriptionUi"
/>
<transcription-ui v-if="showTranscriptionUi"></transcription-ui>
<transcription-ui
v-if="showTranscriptionUi"
@seek="seek"
/>
<modals-bookmarks-modal v-model="showBookmarksModal" :bookmarks="bookmarks" :current-time="bookmarkCurrentTime" :library-item-id="libraryItemId" @select="selectBookmark" />
@ -95,8 +98,8 @@ export default {
}
},
watch: {
'playerHandler.playerState': function (newVal, oldVal) {
// Refresh the transcription UI when the player is changed
'playerHandler.playerState': function (newVal) {
// Refresh the transcription UI when the audio track is changed
if (newVal === 'LOADED') {
this.showTranscriptionUi = false;
this.$nextTick(() => {

View file

@ -1,5 +1,5 @@
<template>
<div :class="{ 'text-warning': isActive }">
<div :class="{ 'text-warning': isActive }" class="cursor-pointer" @click.stop="clickSeek">
<div v-html="cue.text"></div>
</div>
</template>
@ -14,6 +14,12 @@ export default {
isActive: false
};
},
methods: {
clickSeek() {
const time = this.cue.startTime;
this.$emit('seek', time);
}
},
created() {
this.cue.onenter = () => (this.isActive = true);
this.cue.onexit = () => (this.isActive = false);

View file

@ -5,6 +5,7 @@
:key="index"
:cue="cue"
ref="transcriptionLine + index"
@seek="seek"
></transcription-line>
</div>
</template>
@ -29,6 +30,9 @@ export default {
const trackElement = document.getElementById("transcription-track");
this.cues = trackElement.track.cues;
},
seek(time) {
this.$emit('seek', time)
},
},
};
</script>