uni-app 实现类似抖音首页滑动切换视频功能

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

uni-app 实现类似抖音首页滑动切换视频功能

目前安卓手机上滑下滑都可以监测得到,ios却没有反应,很郁闷

4 回复

同求这个功能


可以尝试用nvue写。

别争了,用这个终极解决方案。这个太灵敏了。灵敏度可以自己修改上面的条件自由设置。 https://ext.dcloud.net.cn/plugin?id=860

实现类似抖音首页滑动切换视频的功能,在uni-app中可以利用Swiper组件来完成。以下是一个基本的代码示例,展示如何使用Swiper组件来实现视频切换的效果。

首先,确保你的项目中已经安装了相关的视频播放器插件,例如uni-video-player。如果没有安装,可以通过HBuilderX的插件市场进行安装。

1. 页面结构 (template)

<template>
  <view class="container">
    <swiper
      class="swiper"
      indicator-dots="true"
      autoplay="{{autoplay}}"
      interval="{{interval}}"
      duration="{{duration}}"
      circular="true"
      @change="swiperChange"
    >
      <swiper-item v-for="(video, index) in videos" :key="index">
        <uni-video-player
          class="video-player"
          :src="video.src"
          controls
          object-fit="cover"
        ></uni-video-player>
      </swiper-item>
    </swiper>
  </view>
</template>

2. 脚本部分 (script)

<script>
export default {
  data() {
    return {
      autoplay: true,
      interval: 3000, // 自动切换时间间隔,单位ms
      duration: 500, // 滑动动画时长,单位ms
      videos: [
        { src: 'https://example.com/video1.mp4' },
        { src: 'https://example.com/video2.mp4' },
        { src: 'https://example.com/video3.mp4' }
      ]
    };
  },
  methods: {
    swiperChange(event) {
      console.log('Current swiper index:', event.detail.current);
      // 可以在这里添加额外的逻辑,比如暂停当前视频,播放下一个视频等
    }
  }
};
</script>

3. 样式部分 (style)

<style scoped>
.container {
  width: 100%;
  height: 100%;
}
.swiper {
  width: 100%;
  height: 100%;
}
.video-player {
  width: 100%;
  height: 100%;
}
</style>

注意事项

  1. 视频源:确保视频链接是有效的,并且视频格式是uni-app所支持的。
  2. 性能优化:对于大量视频,可能需要考虑懒加载或者视频预加载策略,以提高用户体验。
  3. 自动播放控制:在某些平台上,自动播放视频可能会受到限制,需要根据平台政策进行调整。
  4. 事件处理:在swiperChange方法中,可以根据需要添加逻辑,比如暂停当前视频,播放下一个视频等,以实现更流畅的用户体验。

以上代码提供了一个基本的框架,你可以根据具体需求进行扩展和优化。

回到顶部