uniapp视频数组,点击播放-播放当前视频,其余暂停demo效果(整理)

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: uniapp视频数组,点击播放-播放当前视频,其余暂停demo效果(整理)

点击视频数组,只播放一个视频,其他视频暂停播放

<template>
  <view class="demoPage">
    <video :src="item" :id="'video'+index" @play="playVideo(index)" v-for="(item,index) in videoList" :key="index"></video>
  </view>
</template>
<script>
  export default {
    components: {},
    data() {
      return {
        videoList: [https://ysg-ma.oss-cn-qingdao.aliyuncs.com/image/0ebceb4d-72ef-4b7b-81e7-7e4edd818247.mp4,https://ysg-ma.oss-cn-qingdao.aliyuncs.com/image/b838dd89-6b48-4e02-ad24-292350f1e5fa.mp4,https://ysg-ma.oss-cn-qingdao.aliyuncs.com/image/ed5e6037-5ea1-49e5-a906-8b3fdeed2234.mp4,https://ysg-ma.oss-cn-qingdao.aliyuncs.com/image/09ac4e92-f8b5-49bd-aa24-e5ae3eeaaf17.mp4], //视频数组
        changePlay: false,
      }
    },
    // 侦听器
    watch: {
    },
    // 计算属性
    computed: {
    },
    // 页面加载
    onLoad(e) {
    },
    // 页面显示
    onShow() {
    },
    // 方法
    methods: {
      //通过索引知道点击的是第几个视频
      playVideo(index) {
        console.log(index, 'index')
        let _this = this;
        //全局变量changePlay表示正在切换。每次切换完播放等一秒在恢复,解决Android下的问题
        if (this.changePlay) {
          return
        }
        _this.changePlay = true
        let currentIndex = 'video' + index; // 获取当前视频索引
        console.log("playVideo currentIndex ", currentIndex)
        // 获取视频列表
        this.videoList.forEach((item, index) => { // 获取json对象并遍历, 停止非当前视频
          let temp = 'video' + index;
          if (temp != currentIndex) { //判断名字是否一致
            // 暂停其余视频
            console.log(temp, currentIndex, '暂停播放');
            uni.createVideoContext(temp, _this).pause(); //暂停视频播放事件
          }
        })
        setTimeout(() => {
          _this.changePlay = false
        }, 1000)
      }
    },
    // 页面隐藏
    onHide() {
    },
    // 页面卸载
    onUnload() {
    },
    // 触发下拉刷新
    onPullDownRefresh() {
    },
    // 页面上拉触底事件的处理函数
    onReachBottom() {
    },
  }
</script>
相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
76 2
|
3天前
|
开发工具
uniapp, 短剧视频类App实现参考,支持滑动播放,仿抖音 仿陌陌 短视频 无限滑动播放 视频流
阿里云点播服务web播放器sdk,短剧视频类App实现参考。仿抖音 仿陌陌 短视频 无限滑动播放 视频流。无uniapp video 原生组件的层级、遮挡、覆盖问题,适合与不同功能视图组合使用,实现丰富的应用功能。
uniapp, 短剧视频类App实现参考,支持滑动播放,仿抖音 仿陌陌 短视频 无限滑动播放 视频流
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
67 4
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的大学生入伍人员管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的大学生入伍人员管理系统附带文章源码部署视频讲解等
75 4
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
77 3
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp宿舍管理系统的附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp宿舍管理系统的附带文章源码部署视频讲解等
65 3
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的家政平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的家政平台附带文章源码部署视频讲解等
47 3
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宠物医院系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宠物医院系统附带文章源码部署视频讲解等
40 2
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的实验室安全考试系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的实验室安全考试系统附带文章源码部署视频讲解等
54 2
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的学生网课学习效果评价附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的学生网课学习效果评价附带文章源码部署视频讲解等
63 2