视频播放器

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;

相关推荐
2601_965619698 小时前
把开源项目Changelog自动做成更新视频,AI工作流
人工智能·开源·音视频
小豆庄9 小时前
视频人脸打码追踪:转场丢失、漏检和ID撞号的处理
目标检测·计算机视觉·开源·音视频·视频·python3.11
酷炫码神10 小时前
Day 10|Pinia 状态管理:把散落在各组件的数据,收进一个全局仓库
android·开发语言·javascript
微帧Visionular12 小时前
AI视频反复抽卡太贵,哪些问题可以用后处理修复?
人工智能·音视频
酷炫码神12 小时前
Day 8|Vue3 响应式:告别手动操作 DOM,让数据驱动界面
javascript·vue.js·ecmascript
视频技术分享13 小时前
基于RTC SDK快速搭建实时协作应用:开发踩坑与选型思考
音视频·实时音视频
码林鼠13 小时前
flutter状态管理入门教程-Riverpod
开发语言·javascript·flutter
互影派14 小时前
分享:Cocos 互动影游一套代码双端分发(Web H5 + Windows/Steam)实践
javascript
Amos_Web14 小时前
Markdonw语法
开发语言·前端·javascript
全栈项目管理程序猿14 小时前
ArcGIS JS 基础教程(34):体元系列 - 等值面 VoxelIsosurface
前端·javascript