vue3使用ckplayer进行摄像头直播视频

初始化配置里的属性说明icon-default.png?t=N7T8https://www.ckplayer.com/manual/11.html#m49


1.点击下载ckplayer-master压缩包,将里面的ckplayer文件夹放在项目中,我是放在了public中

/**
* video-img是为了直接进去页面,就加载视频资源避免浪费资源流量,需要用户点击进行点击在播放视频
*/
<div class="video">
     <div class="video-img" v-if="flag" @click="clickplay">
          <img class="play" src="https://applet/common/play.svg" alt="">
          <img class="poster" src="https://camera/picUrl/1000048_0.png" alt="">
     </div>
     <div v-else id="video-container"></div>
</div>


<script setup lang="ts">
import { ref, onMounted, reactive, nextTick } from 'vue';
const flag = ref(true);

const clickplay = () => {
    flag.value = false;
    initCKPlayer();
}
const initCKPlayer = () => {
---------------------------------动态加载CKPlayer的JavaScript文件和CSS文件
// 引入CKPlayer的CSS文件
    const link = document.createElement('link');
    link.rel = 'stylesheet';
    link.type = 'text/css';
    link.href = '/public/ckplayer/css/ckplayer.css';
    document.head.appendChild(link);
// 引入CKPlayer的JavaScript文件
    const script = document.createElement('script');
    script.src = '/public/ckplayer/js/ckplayer.js';
    document.head.appendChild(script);

    script.onload = () => {
        // 初始化CKPlayer
        const videoObject = {
            poster: '',//封面图片地址,视频第一帧
            container: '#video-container', // 容器选择器
            plug: 'hls.js', // 设置使用hls插件
            autoplay: true, // 自动播放
            live: true,     // 是否为直播
            variable: 'player', // 播放器对象名称
            rotate: 1, // 旋转画面90°
            video: 'https://xxxxxxxx.m3u8',// 视频地址
        };
        nextTick(() => {
            // 创建播放器对象
            const player = new ckplayer(videoObject);

        });
    };
}

</script>

<style lang='scss'>

#video-container {
    width: 100%;
    height: 100%;
    border-radius: 7px;
    //   transform: rotate(90deg);
}

video {
    object-fit: fill;
}

.video-img {
    width: 100%;
    height: 100%;

    .play {
        position: absolute;
        width: 50px;
        height: 50px;
        left: calc(50%);
        top: calc(50% - 10px);
        transform: translate(-50%, -50%) rotate(90deg);
    }

    .poster {
        width: 100%;
        height: 100%;
    }
}
</style>

如果想要在控制栏里面添加自定义按钮,就需要在const player = new ckplayer(videoObject);后面添加如下代码

const Readelement = document.createElement('div')
Readelement .className = 'imgReadClass'
document.getElementsByClassName('ck-bar')[0].appendChild(Readelement)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值