视频播放器

import React from 'react';

class Player extends React.Component {

constructor(props) {

super(props);

}

componentDidMount() {

if(!window.polyvLivePlayer){

this.loadScript('https://player.polyv.net/resp/live-h5-player/latest/liveplayer.min.js')

.then(() =>{

this.loadPlayer();

});

}

}

componentWillUnmount() {

if(this.player){

this.player.destroy();

}

}

loadPlayer() {

this.player = window.polyvLivePlayer({

wrap: '.player',

width: '100%',

height: '100%',

uid: 'uid',

vid: 'vid',

});

}

loadScript(src) {

const headElement = document.head || document.getElementsByTagName('head')[0];

const _importedScript = {};

return new Promise((resolve, reject) => {

if (src in _importedScript) {

resolve();

return;

}

const script = document.createElement('script');

script.type = 'text/javascript';

script.onerror = err => {

headElement.removeChild(script);

reject(new URIError(`The Script ${src} is no accessible.`));

}

script.onload = () => {

_importedScript[src] = true;

resolve();

}

headElement.appendChild(script);

script.src = src;

})

}

render() {

return (

<div className="wrap">

<div className="player"></div>

</div>

)

}

}

export default Player;

相关推荐
安妮的小熊呢3 分钟前
CRMEB开源商城系统 & 标准版系统(PHP)开发规范
开发语言·javascript·php
lvronglee26 分钟前
【数字图传第四步】Android App查看图传视频
android·音视频
_oP_i29 分钟前
FFmpeg 如何与ai结合剪辑出效果好的视频
人工智能·ffmpeg·音视频
坚定信念,勇往无前1 小时前
electron-vite 安装better-sqlite3
javascript·数据库·electron
@菜菜_达1 小时前
jquery.inputmask插件介绍
前端·javascript·jquery
摸鱼小李上线了1 小时前
vue项目页面添加水印实现方法
前端·javascript·vue.js
砍材农夫2 小时前
物联网 基于netty构建mqtt协议规范(主题通配符订阅)
java·前端·javascript·物联网·netty
爱滑雪的码农2 小时前
React Native 完整开发全流程(从零到上线)
javascript·react native·react.js
HwJack202 小时前
HarmonyOS APP开发中ArkTS/JS 类型错误全景拆解
javascript·华为·harmonyos
子琦啊2 小时前
构造函数、this指向和原型链机制
javascript·算法·贴图