uniapp 混合nvue开发上下切换视频(弃用)

文章描述了一个使用swiper组件和自定义videoPlayer组件在Vue.js的nvue环境中实现在移动设备上流畅上下切换视频的方案。通过监听滑动事件改变视频状态,以及利用list组件和@appear指令优化性能,确保了即使处理大量视频也能保持流畅体验。后期优化包括动态加载视频数组和使用cover-view添加交互元素。

此文章存在挺多bug的,比如串音问题,黑屏问题,播放与暂停,占用内存过大,记录一下自己当前的开发思路

最初的构思开发:采用swiper上下切换

1.videoPlayer.nvue

<!-- videoPlayer.nvue -->
<template>
    <view class="videoPlayer">
        <video id="myVideo" class="video" :controls="false"
            :src="'https://xiaoshipin.com/sipin/'+src" ref="myVideo" :loop="true"
            :autoplay="false" @click="click" 
            object-fit="fill"
            :enable-progress-gesture="false"
            :show-fullscreen-btn="false"
            :show-play-btn="false"
            :show-center-play-btn="false"></video>
    </view>
</template>

<script>
    var timer = null 
    export default {
        props: ['src', 'state'],
        watch: {
            state: {
                immediate: true,
                handler() {
                    this.stateChange();
                }
            }
        },
        data() {
            return {
                play: false,
                dblClick: false,
            };
        },
        mounted() {

        },
        methods: {
            stateChange() {

                let videos = this.$refs['myVideo'];
                if (!!videos) {
                    let videoContext = videos;
                    switch (this.state) {
                        //视频播放
                        case 'play':
                            videoContext.play()
                            this.play = true
                            break;
                            //视频暂停
                        case 'pause':
                            videoContext.pause()
                            this.play = false
                            break;
                            //上下切换停止视频
                        case 'stop':
                            videoContext.pause(); //视频停止,从0开始
                            videoContext.seek(0);
                            this.play = false
                            break;
                        default:
                            break;
                   
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值