1506639789 发表于 2022-3-22 10:30:15

请教关于动态设置vars没生效问题, 需要执行其他动作吗

本帖最后由 1506639789 于 2022-3-22 18:10 编辑

文档:

vars(obj[.value])
功能说明:修改初始化变量
函数说明:示例: player.vars('timeScheduleAdjust',0);//禁止鼠标拖动进度
问题: 1. 重新设置了vars 之后除了 video , 其他参数都没有生效, 尝试调用player.play(), 问题依旧;
2. 设置 vars 的格式是怎样的, 多个的时候是怎么设置player.vars('rotate', 90);      player.vars({'rotate': 90},{ 'rightBar': true });

代码:
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="https://www.ckplayer.com/public/static/ckplayer-x3/css/ckplayer.css">
    <script src="https://www.ckplayer.com/public/static/ckplayer-x3/js/ckplayer.js"></script>
    <script src="https://www.ckplayer.com/public/static/ckplayer-x3/hls.js/hls.min.js"></script>
    <script src="https://www.ckplayer.com/public/static/ckplayer-x3/flv.js/flv.min.js"></script>
</head>

<body>
    <div id="video" style="width: 500px;height: 500px;"></div>

    <script>
      let player = ckplayer
      var videoOptions = {
            container: `#video`, //“#”代表容器的ID,“.”或“”代表容器的class
            video: 'https://www.w3school.com.cn/i/movie.ogg',//视频地址
            // video: 'https://ckplayer-video.oss-cn-shanghai.aliyuncs.com/ckplayer-ad/front01.mp4',//视频地址
            autoplay: true,
            volume: 0,//默认音量,范围0-1
            loop: true,//是否需要循环播放
            rotate: 0,//视频旋转角度
            zoom: 0,//默认缩放比例
            live: false,//是否是直播
            plug: 'hls.js',//使用插件,目前支持hls.js:用于在pc端播放m3u8,flv.js:播放flv,mpegts.js:播放ts
            playbackrate: 1,//默认倍速
            ended: null,//结束显示的内容
            webFull: false,//是否启用页面全屏按钮,默认不启用
            theatre: null,//是否启用剧场模式按钮,默认不启用
            controls: false,//是否显示自带控制栏
            rightBar: null,//是否开启右边控制栏
            smallWindows: null,//是否启用小窗口模式
            smallWindowsDrag: true,//小窗口开启时是否可以拖动
            screenshot: false,//截图功能是否开启
            timeScheduleAdjust: 1,//是否可调节播放进度,0不启用,1是启用,2是只能前进(向右拖动),3是只能后退,4是只能前进但能回到第一次拖动时的位置,5是看过的地方可以随意拖动
            title: '',//视频标题
            barHideTime: 1500,//控制栏隐藏时间
      }
      player = new player(this.videoOptions);//初始化播放器
      player.play();

      setTimeout(() => {
            player.vars({ 'video': 'https://ckplayer-video.oss-cn-shanghai.aliyuncs.com/ckplayer-ad/front01.mp4' })
            player.vars({ 'rotate': 90 })
            // player.play()
      }, 5000)

    </script>
</body>

</html>


1506639789 发表于 2022-3-22 11:10:43

本帖最后由 1506639789 于 2022-3-22 11:15 编辑


设置 vars 的格式是怎样的, 多个的时候是怎么设置
player.vars('rotate', 90);
player.vars({'rotate': 90},{ 'rightBar': true });

niandeng 发表于 2022-3-22 19:56:07

vars函数只对部分属性有效,能实时的改,其他的有些在播放器初始化时已设置了,修改则无效了。比如rotate这是播放器初始化时才会调用的,则无效。

1506639789 发表于 2022-3-22 20:01:27

niandeng 发表于 2022-3-22 19:56
vars函数只对部分属性有效,能实时的改,其他的有些在播放器初始化时已设置了,修改则无效了。比如rotate这 ...

感谢回复

niandeng 发表于 2022-3-22 20:47:20

1506639789 发表于 2022-3-22 20:01
感谢回复

像修改旋转角度可以用对应的函数就可以了
player.rotate(90);
具体可以看https://www.ckplayer.com/manual/14.html#m56
页: [1]
查看完整版本: 请教关于动态设置vars没生效问题, 需要执行其他动作吗