uni-app 视频播放的回调有吗

发布于 1周前 作者 yibo5220 来自 Uni-App

uni-app 视频播放的回调有吗

视频播放的回调有吗,作者大大

3 回复

请在插件平台进入对应插件提问。当前问题未关联插件 插件问题 需要在对应插件下 点击 “我要提问” 这样插件作者才能看到


好的,谢谢

在uni-app中,进行视频播放时确实可以监听一些回调事件,这些事件可以帮助你处理视频播放的不同阶段,比如开始播放、播放结束、播放进度变化等。uni-app 提供了 video 组件,你可以利用这个组件及其绑定的事件来实现这些功能。

以下是一个简单的代码示例,展示了如何在uni-app中使用 video 组件并监听其回调事件:

<template>
  <view class="container">
    <video
      id="myVideo"
      src="https://www.example.com/path/to/your/video.mp4"
      controls
      @play="onPlay"
      @pause="onPause"
      @ended="onEnded"
      @timeupdate="onTimeUpdate"
    ></video>
  </view>
</template>

<script>
export default {
  methods: {
    // 当视频开始播放时触发
    onPlay() {
      console.log('Video is playing');
    },
    
    // 当视频暂停时触发
    onPause() {
      console.log('Video is paused');
    },
    
    // 当视频播放结束时触发
    onEnded() {
      console.log('Video has ended');
    },
    
    // 当视频播放进度更新时触发
    onTimeUpdate(event) {
      const currentTime = event.detail.currentTime; // 当前播放时间
      const duration = event.detail.duration; // 视频总时长
      console.log(`Current time: ${currentTime}, Duration: ${duration}`);
      // 你可以在这里更新UI,显示播放进度等
    },
  },
};
</script>

<style>
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: #f8f8f8;
}
video {
  width: 300px;
  height: auto;
}
</style>

在这个示例中,我们使用了 video 组件,并通过 @play@pause@ended@timeupdate 事件监听器来捕捉视频播放的不同阶段。

  • @play 事件在视频开始播放时触发。
  • @pause 事件在视频暂停时触发。
  • @ended 事件在视频播放结束时触发。
  • @timeupdate 事件在视频播放进度更新时频繁触发,可以用来实时显示播放进度。

你可以根据这些事件回调来实现更多的功能,比如显示播放/暂停按钮、显示剩余时间、记录播放历史等。这些事件回调为你在uni-app中实现复杂的视频播放功能提供了坚实的基础。

回到顶部