视频播放器

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;

相关推荐
cch891814 小时前
React Hooks的支持
前端·javascript·react.js
ofoxcoding14 小时前
React 性能优化实战:我把一个卡成 PPT 的页面优化到丝滑的全过程
javascript·react.js·ai·性能优化
蜡台14 小时前
vue.config.js 配置
前端·javascript·vue.js·webpack
吴声子夜歌15 小时前
TypeScript——webpack
javascript·webpack·typescript
han_15 小时前
JavaScript设计模式(六):职责链模式实现与应用
前端·javascript·设计模式
小鹿软件办公15 小时前
Solong 音频转换器:免费批量提取视频中的音频文件
音视频·免费音频播放器
进击的尘埃15 小时前
Navigation API 如何重塑前端路由
javascript
badhope15 小时前
Ollama、vLLM、Transformers等本地AI平台终极乱斗:手把手教你选对“高达”驾驶舱,拒绝选择困难症!
react.js·程序员·node.js
早點睡39015 小时前
ReactNative项目OpenHarmony三方库集成实战:react-native-orientation-locker
javascript·react native·react.js
大雷神15 小时前
HarmonyOS APP<玩转React>开源教程二十四:错题本功能
react.js·面试·开源·harmonyos