大图APP
大图APP
  • 发布:2021-06-15 13:15
  • 更新:2021-06-15 13:15
  • 阅读:422

【报Bug】 纯nvue项目video自定义组件下静音配置安卓端无效

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 64位家庭版

HBuilderX类型: Alpha

HBuilderX版本号: 3.1.19

手机系统: Android

手机系统版本号: Android 10

手机厂商: 小米

手机机型: 红米

页面类型: nvue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

login.nvue 页面代码

<template>  
    <div>  
        <backgrounVideo></backgrounVideo>  
        <div class="background">  

        </div>  
    </div>  
</template>  

<script>  
    import backgrounVideo from "@/components/backgrounVideo";  
    export default {  

        components: {  
            backgrounVideo  
        },  
        data() {  
            return {  

            }  
        },  
        methods: {  

        }  
    }  
</script>  

<style>  
    /* 按钮样式 */  

</style>  

backgrounVideo.nvue 组件代码


<template>  
    <video  
        ref="bgVideos"  
        id="bgVideo"  
        :src="backgroundSrc"  
        :autoplay="true"  
        :enable-progress-gesture="false"  
        :page-gesture="false"  
        :controls="false"  
        :muted="true"  
        :show-fullscreen-btn="false"  
        :show-center-play-btn="false"  
        :loop="true"   
        object-fit="fill"  
        :poster="poster"  
        :show-loading="false"  

    >  
     </video>  
</template>  

<script>  
    export default {  
        data()  
        {  
            return{  
                poster:"",  
                backgroundSrc:"",  
            }  
        },  
        mounted(){  
            this.$nextTick(()=>{  
                //组件挂载完成后动态赋值视频地址  
                 this.backgroundSrc ='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@20200317.mp4';  
            })  
        },  

        methods: {  

        }  
    }  
</script>  

<style>  

</style>  

取代方案:

之前早就发现了这个问题,是因为有可用的取代方案,所以一直没提交bug,解决这问题,只需要动态设置 muted‘值即可解决
在data中设置muted默认值为false,把muted绑定到data中, 在每次动态赋值src后在修改 data中的muted为 true 集可以解决

操作步骤:

1.自定义组件下
2.动态赋值src
3.组件挂载完成后动态赋值视频地址,也就是 mounted组件生命周期
4.安卓端

预期结果:

静音

实际结果:

静音无效

bug描述:

在自定义组件下使用 video 视频组件配置静音 即 :muted="true" 在安卓端无效,
如果过视频地址在data或者video src中写死,那么:muted="true"静音就正常,

如果是在 data 配置video src 默认空,然后在 组件 mounted声明周期里 this.$nextTick(()=>{}) 赋值给 datavideo src,这时候视频正常播放,但是:muted="true"已经失去了他应该有的效果,就是静音无效。详细见 代码示例:

2021-06-15 13:15 负责人:DCloud_Android_DQQ 分享
已邀请:

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