视频播放器

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;

相关推荐
yzzzz25 分钟前
JS 的蝴蝶效应 —— 事件流
前端·javascript·面试
杨荧1 小时前
【开源免费】基于Vue和SpringBoot的网上商城系统(附论文)
前端·javascript·jvm·vue.js·spring boot·spring cloud·开源
小李老笨了1 小时前
React组件化开发
前端·javascript·react.js
BillKu1 小时前
vue3+ts+element-plus 表单el-form取消回车默认提交
前端·javascript·vue.js
鸠摩智首席音效师1 小时前
如何修改 Angular 运行的主机和端口 ?
前端·javascript·angular.js
Rattenking2 小时前
【CSS】 ---- CSS 实现图片背景清除的滑动效果三种方法
前端·javascript·css
GISer_Jing3 小时前
Javascript数据结构——图Graph
开发语言·javascript·数据结构
rock——you3 小时前
quasar v2 setup语法中报错: undefined is not an object (evaluating ‘this.$q.notify‘)
前端·javascript·vue.js·quasar
LuiChun3 小时前
WebRTC音视频通话系统需求(项目预算)
音视频·webrtc
LuiChun3 小时前
WebRTC音视频通话系统需求说明书
音视频·webrtc