7***@qq.com
7***@qq.com
  • 发布:2020-03-16 17:52
  • 更新:2020-03-24 18:06
  • 阅读:853

【报Bug】V3编译模式下video组件有问题

分类:uni-app

uni.createVideoContext返回的对象不一致导致报错

[内容]

如附件图,分别是V3编译模式返回的及普通编译模式返回的对象,报错信息如图

报错图片

-------------------------------------------------------------------------

v3编译模式返回的对象如图
报错图片

------------------------------------------------------------------------

以前普通编译模式返回对象如图
报错图片

2020-03-16 17:52 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

有没有具体的代码?使用场景

  • chenli

    v3编译。HX2.6.5版本。video组件使用直播flv源播放时,手动拖拉进度条就一直卡在加载loading就无法恢复播放。ios和安卓都可重现。把enable-progress-gesture改为false时也无效还是可拖进度条。

    2020-03-17 11:01

  • DCloud_uniCloud_WYQ

    回复 chenli: enable-progress-gesture是控制视频播放区域的手势的,如果不希望用户拖动进度条可以直接隐藏

    2020-03-24 18:06

  • chenli

    回复 DCloud_uniCloud_WYQ: 好的。

    2020-03-24 18:23

7***@qq.com

7***@qq.com (作者)

这是视频组件的代码,然后我在另外一个组件里面引入后点击播放文字按钮会报错,但是点击视频上的播放按钮可以正常播放

<template>  
    <div>  
        <video id='video1' class="video" :src="src" autoplay="false" duration="" controls="true" :danmu-list="list"  
            danmu-btn="true" enable-danmu="true" :loop="true" muted="true" initial-time="" direction="-90"  
            show-mute-btn="true" @timeupdate="timeupdate" @fullscreenchange="fullscreenchange"></video>  
        <button class="btn" @click="play">播放</button>  
        <button class="btn" @click="pause">暂停</button>  
        <button class="btn" @click="seek">跳转到指定位置</button>  
        <button class="btn" @click="stop">停止</button>  
        <button class="btn" @click="fullScreen">全屏</button>  
        <button class="btn" @click="exitFullScreen">退出全屏</button>  
        <button class="btn" @click="playbackRate">设置倍速</button>  
        <button class="btn" @click="sendDanmu">发送弹幕</button>  
    </div>  
</template>  

<script>  
    export default {  
        data: {  
            src: "https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/%E7%AC%AC1%E8%AE%B2%EF%BC%88uni-app%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D%EF%BC%89-%20DCloud%E5%AE%98%E6%96%B9%E8%A7%86%E9%A2%91%E6%95%99%E7%A8%8B@20181126-lite.m4v",  
            fil: true,  
            list: [{  
                text: '要显示的文本',  
                color: '#FF0000',  
                time: 9  
            }]  
        },  
        onReady() {  
            this.context = uni.createVideoContext("video1", this);  
        },  
        methods: {  
            play() {  
                this.context.play();  
            },  
            pause() {  
                this.context.pause();  
            },  
            seek() {  
                this.context.seek(20);  
            },  
            stop() {  
                this.context.stop();  
            },  
            fullScreen() {  
                this.context.requestFullScreen({  
                    direction: 90  
                });  
            },  
            exitFullScreen() {  
                this.context.exitFullScreen();  
            },  
            sendDanmu() {  
                this.context.sendDanmu({  
                    text: '要显示的弹幕文本',  
                    color: '#FF0000'  
                });  
            },  
            playbackRate() {  
                this.context.playbackRate(2);  
            }  
        }  
    }  
</script>  

<style>  
    .video {  
        width: 750rpx;  
        height: 400rpx;  
        background-color: #808080;  
    }  

    .btn {  
        margin-top: 5px;  
        margin-bottom: 5px;  
        ;  
    }  
</style>  
7***@qq.com

7***@qq.com (作者)

这是官方的调用createVideoContext这个方法返回的值打印的图
官方

这是我代码调用createVideoContext这个方法返回的值打印的图
自己

经过对比后发现少了一些方法,如:play(),pause()等方法

eightJie

eightJie

我这边也出现同样的问题,希望官方能尽快修复

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

升级到2.6.6-alpha试试

该问题目前已经被锁定, 无法添加新回复