liushengqiang 1 year ago
parent
commit
d48d75bfd9

+ 8 - 3
src/views/coursewarePlay/component/video-play.tsx

@@ -27,7 +27,7 @@ export default defineComponent({
       default: false
     }
   },
-  emits: ['loadedmetadata', 'togglePlay', 'ended', 'reset'],
+  emits: ['loadedmetadata', 'togglePlay', 'ended', 'reset', 'prepare'],
   setup(props, { emit, expose }) {
     const { item, isEmtry } = toRefs(props)
     const videoRef = ref()
@@ -103,6 +103,7 @@ export default defineComponent({
             </div>`
 
     onMounted(() => {
+      emit('prepare', false)
       videoItem.value = new Plyr(videoRef.value, {
         autoplay: false,
         controls: controls,
@@ -137,6 +138,7 @@ export default defineComponent({
           changePlayBtn('play')
         })
         videoItem.value.once('loadedmetadata', (e: Event) => {
+          console.log('loadedmetadata')
           changePlayBtn('play')
           videoItem.value.currentTime = 0
           if (item.value.autoPlay && videoItem.value && props.isActive) {
@@ -144,8 +146,11 @@ export default defineComponent({
           }
           emit('loadedmetadata', videoItem.value)
         })
-        videoItem.value.on('timeupdate', (e: Event) => {
-          // console.log(videoItem.value?.currentTime, '111')
+        videoItem.value.on('timeupdate', () => {
+          if (!props.isActive) {
+            console.log('不是激活的视频,如果在播放,就暂停')
+            videoRef.value.pause()
+          }
         })
 
         nextTick(() => {

+ 2 - 2
src/views/coursewarePlay/index.module.less

@@ -312,9 +312,9 @@
 
 .loadWrap {
   position: absolute;
-  left: 0;
+  left: -6Px;
   top: 0;
-  right: 0;
+  right: -6Px;
   bottom: 0;
   background: linear-gradient(45deg, #21232a, #111218);
   display: flex;

+ 3 - 0
src/views/coursewarePlay/index.tsx

@@ -726,6 +726,9 @@ export default defineComponent({
                           item={m}
                           isActive={activeEle}
                           isEmtry={isEmtry}
+                          onPrepare={(val) => {
+                            m.isprepare = val
+                          }}
                           onLoadedmetadata={(videoItem: any) => {
                             m.videoEle = videoItem
                             m.isprepare = true