小程序视频封面,切换播放并显示封面

小程序视频封面,切换播放并显示封面,第1张

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()

     }

    },

效果展示

通过在循环容器上加载音乐列表,通过伏逗雀设置值将循环容器上的音乐值设置给音频组件,实现点击音乐列表,切换不同的音乐。

创建数据

注意:在数据中心你可以创建属于自己应用程序的数据表格,数据表格类型分为用户指渗表、商品表、订单表和自定义表。

点击数据中心。

创建数据表:音频

字段包含:封面、歌手、音频(音频类型)、名称。

创建事件

注意:事件是构建数据与界面元素组件链接的抽象逻辑。数据表与界面元素组件通过事件连接。

点击事件中心。

创建事件:查询音频。

点击事件中心。

创建事件:随机查询一条音乐。

触发器配置

注意:在检查器面板中的触发器设置面板创建触发器,可以对组件进行交互逻辑设置,或配合事件来进行动态数据 *** 作。

选中循环容器。

点击检查面板中的触发器面板。

创建触发器:查询。

选中动态容器。

点击缺早检查面板中的触发器面板。

创建触发器:随机查询一条音乐。

选中音频组件。

点击检查面板中的数据绑定与设置。

打开开关:接收动态数据。

同上,需要将动态容器中的组件均打开该开关。

选中循环容器的列表条目。

点击检查面板中的触发器面板。

创建触发器:设置音频值。

设置歌手值。

设置音乐值。

设置封面值。

选中音频组件。

点击检查面板中的触发器面板。

创建触发器:播放。

创建触发器:暂停。

选中标签文本。

点击检查面板中的触发器面板。

创建触发器。

绑定数据

注意:绑定数据可以将事件返回的数据和组件显示内容进行绑定。

选中循环容器的列表条目。

点击检查面板中的数据绑定与设置。

绑定数据。

选中动态数据。

点击检查面板中的数据绑定与设置。

绑定数据。

在手机下单独下载的app中才可以导入自己录制陵缓雀的哪者文件,比如录制有背景音乐的朗诵,可以在编辑状态下,点击“添加音乐”“我的”上传自己的mp3格式音频文件。这样就可以制作自己的有音乐背景的朗诵了。注意,这个功能在微信小程序和微信网页版尺早中都是不可用的。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存