uniapp video 视频加载完成事件如何监听
在uniapp中,如何监听video组件的视频加载完成事件?我尝试了@load和@loadedmetadata事件都没有触发,请问正确的监听方式是什么?
        
          2 回复
        
      
      
        在uniapp中,可以通过@loadedmetadata事件监听视频加载完成:
<video 
  src="video.mp4" 
  @loadedmetadata="onVideoLoaded"
></video>
methods: {
  onVideoLoaded() {
    console.log('视频加载完成')
  }
}
当视频元数据加载完成时会触发该事件。
在 UniApp 中,可以通过 <video> 组件的 @loadedmetadata 事件来监听视频加载完成。该事件在视频元数据(如时长、尺寸)加载完成后触发。
使用方法:
- 在模板中为 <video>组件绑定@loadedmetadata事件。
- 在方法中定义对应的事件处理函数。
示例代码:
<template>
  <view>
    <video 
      src="https://example.com/sample.mp4" 
      @loadedmetadata="onVideoLoaded"
    ></video>
  </view>
</template>
<script>
export default {
  methods: {
    onVideoLoaded(e) {
      console.log('视频加载完成', e)
      uni.showToast({
        title: '视频加载完成',
        icon: 'success'
      })
    }
  }
}
</script>
说明:
- @loadedmetadata是推荐事件,表示视频元数据已加载。
- 其他相关事件:
- @loadstart:开始加载。
- @canplay:可以播放(但可能未完全加载)。
- @canplaythrough:可流畅播放(已完全加载)。
 
根据需求选择合适的事件即可。
 
        
       
                     
                   
                    

