视频播放器

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;

相关推荐
Amumu121383 分钟前
Js:内置对象
开发语言·前端·javascript
飞Link8 分钟前
具身智能音频处理核心框架 PyAudio 深度拆解与实战
开发语言·python·音视频
我命由我1234520 分钟前
Element Plus 2.2.27 的单选框 Radio 组件,选中一个选项后,全部选项都变为选中状态
开发语言·前端·javascript·html·ecmascript·html5·js
weixin_4434785127 分钟前
flutter组件学习之卡片与列表
javascript·学习·flutter
moreen30 分钟前
Koa3.1.2 迁移, 持续更新中
javascript
qq_2113874743 分钟前
基于LangGraph多agent
开发语言·前端·javascript·agent·langgraph
liuyao_xianhui1 小时前
优选算法_模拟_替换所有的‘?‘_C++
开发语言·javascript·数据结构·c++·算法·链表·动态规划
摸鱼仙人~1 小时前
Vue Todo 实战练习教程(简略版)
前端·javascript·vue.js
弓.长.1 小时前
ReactNative for OpenHarmony项目鸿蒙化三方库:react-native-video — 视频播放组件
react native·音视频·harmonyos
FlyWIHTSKY1 小时前
Vue 3 单文件组件加载顺序详解
前端·javascript·vue.js