视频播放器

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 = () => {

_importedScriptsrc = true;

resolve();

}

headElement.appendChild(script);

script.src = src;

})

}

render() {

return (

<div className="wrap">

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

</div>

)

}

}

export default Player;

相关推荐
FogLetter11 小时前
当JavaScript学会“分身术”:异步编程的进化简史
前端·javascript·面试
java1234_小锋11 小时前
Vue3+Vite简介以及构建第一个HelloWorld实例
前端·javascript·vue.js·vite
程序员老陆12 小时前
从零写一个 FFmpeg 播放器:架构设计远比“解码显示”复杂
ffmpeg·音视频·播放器
天天鸭13 小时前
5 万处中文的老项目实现国际化,如何用架构思维完成改造?
前端·javascript·架构
kuinnebula14 小时前
MP4音频帧定位与提取
音视频
月月大王的3D日记14 小时前
Three.js 入门系列(7):让甜甜圈围着我转 —— 3D文字生成
前端·javascript
半兽先生15 小时前
深度对比:Mapbox GL JS vs Maptalks,WebGIS 开发该如何选型?
开发语言·javascript·ecmascript
only-lucky16 小时前
QML深入学习五(Controls模块)
前端·javascript·学习
AI创界者17 小时前
开源硬核LTX-Video 本地部署整合包教程:超低显存生成高清AI视频,告别云端排队!
人工智能·aigc·音视频
其美杰布-富贵-李17 小时前
第 5 篇:Object3D、Group 与场景树
javascript·three.js