微信小程序中的视频播放问题

微信小程序中的视频播放问题,第1张

小程序中的 video 组件是原生组件, 默认宽雀饥度300px、高度225px,可通过wxss设置宽高。其中 src 属性默认支持MP4格式,但是实际上还可以支持其他格式。

属性主要有:

src :要播放视频的资源地址。

initial-time :指定视频初始州销播放位置。

danmu-list :d幕列表。

controls :是否显示默认播放控件(播放/暂停按钮、播放进度、时间)。

binderror视频播放出错时触发。

安卓系统可以支持MP4格式的视频,苹果手机支持m3u8格式的视频。可以通过获取手机的系统,然后判断播放什么格式的视频。

参数主要顷迹返包括:

brand :手机品牌;

model :手机型号;

fontSizeSetting :用户字体大小设置。以“我-设置-通用-字体大小”中的设置为准,单位 px;

pixelRatio :设备像素比。

1.默认显示封面;

2.一个视频播放的时候,其他视频停止播放,并显示封面。

1.通过wx:if判断当前视频是否是播放的状态,如果是就显示视频,如果不是就隐藏视频;

2.点击封面的时候,获取到该视频的id,进行判断,如果当前没有视频播放,就把该视频设置为播放的状态;如果当前有视频播放,则停止当前播放的视频,再播放你点击的这个视频。

<view class="video_body">

            <view wx:for="{{courseList}}" wx:for-item="course" class='course-pannle-item' wx:for-index="idx" wx:key="index">

                <view class='video-item'>

                    <video class="video" wx:if='{{idx==playIndex}}' id='video{{idx}}' autoplay='{{true}}' show-center-play-btn="{{false}}" src='{{course.videoUrl}}' controls="羡孙庆true" objectFit="cover"></video>

                    <image class='video-cover video' wx:if='{{idx!=playIndex}}' mode='widthFix' src='{{course.coverUrl}}'></image>

                    <image class='video-play-btn' wx:if='{{idx!=playIndex}}' mode='widthFix' data-index='{{idx}}' bindtap='videoPlay' src='/images/home/btn.png'></image>

                    <!-- <text wx:if='{{idx!=playIndex}}' class='video-duration fs-28'>

                            {{course.duration}}

           凯尺             </text>-->

                </view>

            </view>

        </view>

 data: {

    playIndex: null, //用于记录当前播放的视频的索引值

    courseList: [

      {

        videoUrl: 'https://fxmv3-asset.oss-cn-zhangjiakou.aliyuncs.com/132a004191990de6d1dde6379a56987b.mp4'兄握, //视频路径

        coverUrl: '/images/home/1.png', //视频封面图

        duration: '03:00' //视频时长

      },

      {

        videoUrl: 'https://fxmv3-asset.oss-cn-zhangjiakou.aliyuncs.com/bddfba680554409e47aeb653ec5d58af.mp4',

        coverUrl: '/images/home/2.png',

        duration: '04:45'

      }

    ]

  },

 videoPlay: function (e) {

      var curIdx = e.currentTarget.dataset.index

      // 没有播放时播放视频

    if (!this.data.playIndex) {

         this.setData({

           playIndex: curIdx

        })

       var videoContext = wx.createVideoContext('video' + curIdx)//这里对应的视频id

     videoContext.play()

   } else {

       // 有播放时先将prev暂停,再播放当前点击的current

      var videoContextPrev = wx.createVideoContext('video' + this.data.playIndex)

       if (this.data.playIndex != curIdx) {

        videoContextPrev.pause()

       }

        this.setData({

         playIndex: curIdx

         })

       var videoContextCurrent = wx.createVideoContext('video' + curIdx)

       videoContextCurrent.play()

     }

    },

上方的video标签写好,给src一个定义的变量URL_data赋值;定义一个播放宏耐标题title_video

下面的列表数据,应该每闹绝嫌个列表item里面包含该数据对应的src值,点击列表item的时候,液手获取该item的数据,将获取到的item数据赋值给URL_data,并将获取到的item的标题数据赋值给title_video


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12549081.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存