视频播放器

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;

相关推荐
事圆则缓9 分钟前
Flutter 状态管理框架对比(三):Riverpod 如何连起购物车与异步价格
开发语言·javascript·flutter
EasyGBS31 分钟前
国标监控PS流是什么?GB28181视频平台EasyGBS视频封装全链路讲解
服务器·音视频·gb28181
深圳市青牛科技实业有限公司38 分钟前
GC5358|24bit‑96kHz 立体声 ADC,高性能音频模数转换优选
音视频
lyz24685940 分钟前
vue3页面因参数未声明而报错的常犯错误
前端·javascript·vue.js
Hilaku1 小时前
我重写了整个项目,但没人感谢我!
前端·javascript·程序员
企业数字化笔记1 小时前
视频音频怎么稳定抽取?从媒体探测到可用音频资产的实现方案
音视频·媒体
byte轻骑兵2 小时前
VCP核心缩写概览
人工智能·音视频·le audio·低功耗蓝牙音频
福兮说2 小时前
JS 正则的六个坑:带 g 的 test() 一真一假、空匹配死循环、replace 里的 $
开发语言·前端·javascript·正则表达式
miss2 小时前
给规则引擎加一个拖拽画布:Vue Flow 单向投影 + 布局语义分离
javascript·vue.js·canvas
2601_962380762 小时前
历史解说与民俗科普视频的AI自动配素材实现教程
人工智能·音视频