• vue中引入播放器(百度播放器和腾讯云播放器)


    百度云播放器

    • 引入cyberplayer.js
    • 创建播放
    /*
     *  视频播放器
     *  @params {String} 播放器容器的id名
     *  @params {Number} 播放器的视频地址
     *  @params {String} 播放器的封面图片
     */
    
    
    function cyberPlayer(idname, video_url, pic) {
        const player = cyberplayer(idname).setup({
             '100%',
            height: '100%',
            backcolor: '#FFFFFF',
            stretching: 'uniform',
            file: video_url,
            image: pic, 
            ak: '9db5423bf41349d6a98a4ba5a1c4e17f',
            autoStart: false,
            repeat: false,
            volume: 100,
            controls: true
        });
        return player;
    }
    
    export default cyberPlayer;
    
    vue全局引用方法
     
    
        //创建播放器
        this.radioPlayer = this.cyberPlayer('id名称',视频地址,视频封皮图片 );
    
    • 播放5分钟后暂停
    
            playTimeHandler(){
                let that = this;
                this.radioPlayer.onTime(function(...rest){
                if(rest[0].position > 300){
                    that.radioPlayer.seek(0);
                    that.radioPlayer.remove();
                    that.radioPlayer = null;
                   // that.showMask = true;
                    }
                })
            },
    
    
    
    • 重新播放
            newRadioPlayer(){
                this.radioPlayer = this.cyberPlayer('playercontainer', this.video_url, '');
                this.radioPlayer.seek(0);
                this.radioPlayer.play();
                if(this.shareData.audition_time > 0){
                    this.playTimeHandler();
                }else{
                    let that = this;
                    //侦听视频播放结束
                    this.radioPlayer.onBeforeComplete(function() {
                        that.radioPlayer.remove();
                        that.radioPlayer = null;
                        //that.showMask = true;
                    });
                }
    
    
    

    腾讯云播放器

        //引入js
        <script src="//imgcache.qq.com/open/qcloud/video/vcplayer/TcPlayer-2.3.2.js"></script>
    
    function Tcplayer(idname, video_url, pic) {
        // console.log('创建播放', video_url);
        var player = new TcPlayer(idname, {
            m3u8: video_url, //请替换成实际可用的播放地址
            // autoplay : false,      //iOS 下 safari 浏览器,以及大部分移动端浏览器是不开放视频自动播放这个能力的
            // poster : pic,
            width :  '100%',//视频的显示宽度,请尽量使用视频分辨率宽度
            height : '100%'//视频的显示高度,请尽量使用视频分辨率高度
            });
        return player;
    }
    
    export default Tcplayer;
    
    
    • 重新播放
            newRadioPlayer(){
                this.radioPlayer = this.Tcplayer('playercontainer', this.video_url);
                this.radioPlayer.currentTime(0)
                this.showMask = false;
                this.videoPlayerHandler();
                this.videoOverHandler();
                this.videoPauseHandler();
            }
    
    • 侦听视频播放结束
            videoOverHandler(){
                let that = this;
                this.radioPlayer.video.el.addEventListener('ended',()=>{
                    that.radioPlayer.destroy();  
                    that.radioPlayer = null;
                    that.showMask = true;     //重新播放的遮罩显示
                    that.videoPlayerStatus = false;  //暂停按钮不显示
                    this.videoImgStatus = false;   //视频播放结束后图片展示
                })
            },
    
    • 侦听视频播放暂停
         videoPauseHandler(){
                this.radioPlayer.video.el.addEventListener('pause',()=>{
                    // 视频暂停后暂停按钮的显示,图片不显示
                    this.videoPlayerStatus = true;
                    this.videoImgStatus = true; 
                })
            }
    

    音频audio

    -播放音频

            summaryAudioClick() {
                this.shareData.active = !this.shareData.active;   //播放按钮的状态
                this.mySummaryAudio = this.$refs.mySummaryAudio;
                //全局侦听是否暂停,暂停后改变状态
                this.mySummaryAudio.addEventListener("pause",()=>{
                    this.summaryAudioStatus = 'pause';
                    this.shareData.active = false;
                    this.mySummaryAudio.pause();
                });
                    this.audioPlayHandler();
               },
    
            audioPlayHandler() {
                let that = this;
                if (this.summaryAudioStatus == 'pause') {
                    this.$refs.mySummaryAudio.play();
                    this.summaryAudioStatus = 'play'; //当前播放状态,记得修改图片
                    //侦听播放是否结束
                    this.$refs.mySummaryAudio.addEventListener('ended', function() {
                        that.summaryAudioStatus = 'pause';
                        that.$refs.mySummaryAudio.pause();
                        that.is_trial_flag = false;
                    });
                } else {
                    this.$refs.mySummaryAudio.pause();
                    this.summaryAudioStatus = 'pause';
                }
            },
    
    
    
    
    • 重新播放
            newPlayerHandler() {
                this.mySummaryAudio.currentTime = 0;
                this.is_trial_flag = true;
                this.shareData.active = true;
                if (this.summaryAudioStatus == 'pause') {
                    this.mySummaryAudio.play();
                    this.summaryAudioStatus = 'play';
                } else {
                    this.mySummaryAudio.pause();
                    this.summaryAudioStatus = 'pause';
                }
            },
    
    
  • 相关阅读:
    重构手法之简化函数调用【5】
    netstat命令
    Python使用wxpy模块实现微信两两群组消息同步
    format函数格式化显示的方法
    scrapy介绍及使用
    Linux常用命令复习
    Django实现博客项目
    Django中CKEditor富文本编译器的使用
    Django-admin站点管理的详细使用
    电脑修改密码后,git push 报错unable to access
  • 原文地址:https://www.cnblogs.com/douge/p/12492663.html
Copyright © 2020-2023  润新知