|
@@ -53,6 +53,7 @@
|
|
|
<!-- 视频:原生播放器,铺满预览区 -->
|
|
<!-- 视频:原生播放器,铺满预览区 -->
|
|
|
<video
|
|
<video
|
|
|
v-if="currentFile.category === 'video'"
|
|
v-if="currentFile.category === 'video'"
|
|
|
|
|
+ ref="videoRef"
|
|
|
class="fp-video"
|
|
class="fp-video"
|
|
|
:src="currentFile.url"
|
|
:src="currentFile.url"
|
|
|
controls
|
|
controls
|
|
@@ -246,6 +247,13 @@
|
|
|
this.currentIndex = index;
|
|
this.currentIndex = index;
|
|
|
this.loadBlob(this.currentFile);
|
|
this.loadBlob(this.currentFile);
|
|
|
},
|
|
},
|
|
|
|
|
+ // 暂停当前播放的视频(供外部在页面不可见时调用)
|
|
|
|
|
+ pauseVideo() {
|
|
|
|
|
+ const video = this.$refs.videoRef;
|
|
|
|
|
+ if (video && !video.paused) {
|
|
|
|
|
+ video.pause();
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
// pdf / 文本按 blob 渲染:带 token 鉴权,且浏览器不会直接下载
|
|
// pdf / 文本按 blob 渲染:带 token 鉴权,且浏览器不会直接下载
|
|
|
async loadBlob(file) {
|
|
async loadBlob(file) {
|
|
|
this.blobUrl = '';
|
|
this.blobUrl = '';
|