diff options
Diffstat (limited to 'src/client/views/nodes/PresBox.tsx')
| -rw-r--r-- | src/client/views/nodes/PresBox.tsx | 23 | 
1 files changed, 13 insertions, 10 deletions
| diff --git a/src/client/views/nodes/PresBox.tsx b/src/client/views/nodes/PresBox.tsx index 6da215c5f..2aba461e0 100644 --- a/src/client/views/nodes/PresBox.tsx +++ b/src/client/views/nodes/PresBox.tsx @@ -230,17 +230,20 @@ export class PresBox extends ViewBoxBaseComponent<FieldViewProps, PresBoxSchema>      // 'Play on next' for audio or video therefore first navigate to the audio/video before it should be played      startTempMedia = (targetDoc: Doc, activeItem: Doc) => {          const duration: number = NumCast(activeItem.presEndTime) - NumCast(activeItem.presStartTime); -        if (targetDoc.type === DocumentType.AUDIO) { -            if (this._mediaTimer && this._mediaTimer[1] === targetDoc) clearTimeout(this._mediaTimer[0]); -            targetDoc._triggerAudio = NumCast(activeItem.presStartTime); -            this._mediaTimer = [setTimeout(() => targetDoc._audioStop = true, duration * 1000), targetDoc]; -        } else if (targetDoc.type === DocumentType.VID) { -            if (this._mediaTimer && this._mediaTimer[1] === targetDoc) clearTimeout(this._mediaTimer[0]); -            targetDoc._triggerVideoStop = true; -            setTimeout(() => targetDoc._currentTimecode = NumCast(activeItem.presStartTime), 10); -            setTimeout(() => targetDoc._triggerVideo = true, 20); -            this._mediaTimer = [setTimeout(() => targetDoc._triggerVideoStop = true, (duration * 1000) + 20), targetDoc]; +        if ([DocumentType.VID, DocumentType.AUDIO].includes(targetDoc.type as any)) { +            const targMedia = DocumentManager.Instance.getDocumentView(targetDoc); +            targMedia?.ComponentView?.playFrom?.(NumCast(activeItem.presStartTime), NumCast(activeItem.presStartTime) + duration);          } +        // if (targetDoc.type === DocumentType.AUDIO) { +        //     if (this._mediaTimer && this._mediaTimer[1] === targetDoc) clearTimeout(this._mediaTimer[0]); +        //     targetDoc._triggerAudio = NumCast(activeItem.presStartTime); +        //     this._mediaTimer = [setTimeout(() => targetDoc._audioStop = true, duration * 1000), targetDoc]; +        // } else if (targetDoc.type === DocumentType.VID) { +        //     targetDoc._triggerVideoStop = true; +        //     setTimeout(() => targetDoc._currentTimecode = NumCast(activeItem.presStartTime), 10); +        //     setTimeout(() => targetDoc._triggerVideo = true, 20); +        //     this._mediaTimer = [setTimeout(() => targetDoc._triggerVideoStop = true, (duration * 1000) + 20), targetDoc]; +        // }      }      stopTempMedia = (targetDoc: Doc) => { | 
