nvue下uniapp模式 video 包在 swiper->swiper-item 内 无法使用 uni.createVideoContext('id',this).play();
代码如下
<template>
<view>
<swiper>
<swiper-item>
<video
ref="video"
id="myVideo"
poster="https://jita-app.oss-cn-hangzhou.aliyuncs.com/bbb.jpeg"
src="https://jita-app.oss-cn-hangzhou.aliyuncs.com/v.f10.mp4"
</swiper-item>
</swiper>
</view>
</template>
我怀疑是如果放在父子嵌套的组件 如 movable-area -> movable-view 或者 swiper->swiper-item 的里面就不行
其他 放在 view div scroll-view 内 或者他们的组合均没事
6 个回复
raise (作者)
顶一下
1***@qq.com - 一只野生程序员
一模一样的问题 卧槽 忙活了一天 淦
1***@qq.com
同问createVideoContext后总是会报如下错误:
[JS Framework] Failed to execute the callback function:
TypeError: undefined is not an object (evaluating 'this.$scope.$page')
而在打印video的上下文对象时,总是,无法转成json,无法遍历;
raise (作者)
解决这个问题的方法就是把video组件二次封装成自己的组件。然后通过传属性的方式去控制他
1***@qq.com
已经是这样了,组件内监听参数变化进行play等操作,但是监听到这个参数变化时,就报错了
2020-01-07 20:23
1***@qq.com
不过有一点,我不是在当前页面的组件内使用,而是页面的组件的组件的组件里放的
2020-01-07 20:29
raise (作者)
回复 1***@qq.com: 参考我这个插件的写法 https://ext.dcloud.net.cn/plugin?id=860
2020-01-07 20:31
1***@qq.com
回复 raise: 好巧,就是用您这个插件改的,没有大改动,还没上业务逻辑呢,我先去给您打个五星好评
2020-01-07 20:38
1***@qq.com
NONONO 还有一种更简单的方法
原理: uni.createVideoContext('id',this) 这个'id' 就是vidoe 元素
如果想控制 就可以 for 循环 的时候 在 vidoe :id="' 'id' + index " 这样 每个循环出来的 video 的id
就变成了 id1 id2 id3
<video id="id1" @click=“play(index)” />
如果想操作其中的某个视频元素
就可以在 定一个函数 传index
play(index){
uni.createVideoContext('id'+index,this).play();
}
2020-03-31 12:52
BlackFish
手动置顶
道木樱花
安卓动态加载数据会跳到第一个你们有没有遇到