视频播放器

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;

相关推荐
雪芽蓝域zzs7 小时前
第十七节:面包屑导航组件(适配多级嵌套路由)
前端·javascript·vue.js
却道天凉_好个秋7 小时前
音视频学习(一百零五):Access Unit (AU)和RTP分包
学习·音视频·access unit·rtp分包
smileNicky7 小时前
React 弹窗组件如何在新标签页打开?
javascript·react.js·ecmascript
yume_sibai7 小时前
Element Plus 其他实用组件完全指南(10个核心组件)
前端·javascript·vue.js
刘广睿8 小时前
AI 配音怎么做?语音合成 TTS 技术选型与本地部署实战(edge-tts / GPT-SoVITS / CosyVoice / Piper)
人工智能·音视频·效率工具·语音合成·tts
小柯南敲键盘8 小时前
跨马翻译AI工具,批量图片视频翻译与智能抠图一站式解决
人工智能·python·音视频
雪芽蓝域zzs8 小时前
第二十二节:进阶:用户管理新增、编辑弹窗 + 表单校验
前端·javascript·vue.js
shmily麻瓜小菜鸡8 小时前
JavaScript / TypeScript 易踩坑知识点 —— 作用域与变量类
开发语言·javascript·typescript
变与不变8068 小时前
JS作用域,作用域链
前端·javascript·es6
雪芽蓝域zzs9 小时前
二十一节:进阶:用户列表批量删除功能
前端·javascript·vue.js