视频播放器

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;

相关推荐
阿珊和她的猫1 小时前
Vue Router中的路由嵌套:主子路由
前端·javascript·vue.js
穿越光年1 小时前
MCP实战:在扣子空间用扣子工作流MCP,一句话生成儿童故事rap视频
人工智能·音视频
深圳市青牛科技实业有限公司 小芋圆1 小时前
CS4334:一款高性能的立体声音频数模转换器
科技·嵌入式硬件·音视频·智能家居·新能源·工控主板
霸王蟹2 小时前
React 19中如何向Vue那样自定义状态和方法暴露给父组件。
前端·javascript·学习·react.js·typescript
shenyan~2 小时前
关于 js:9. Node.js 后端相关
前端·javascript·node.js
小陈从不熬夜2 小时前
HarmonyOS AVPlayer 音频播放器
华为·音视频·鸿蒙
purpleseashell_Lili2 小时前
项目制作流程
react.js
进取星辰3 小时前
31、魔法生物图鉴——React 19 Web Workers
开发语言·javascript·ecmascript
GISer_Jing4 小时前
Vue 和 React 状态管理的性能优化策略对比
vue.js·react.js·性能优化
编程、小哥哥4 小时前
Java面试场景:从音视频到AI应用的技术探讨
spring boot·spring cloud·微服务·音视频·java面试·ai应用