react的video播放函数

本文介绍了一个基于React的视频播放组件实现方法,通过自定义的Video类组件,利用video标签实现视频播放功能,并支持动态调用及前端渲染。该组件允许自定义样式、事件处理等,适用于多种应用场景。

react的video播放函数,可在其他.jsx文件中动态调用并渲染在前端界面,主要是对video标签的应用

/*
 * Copyright 2017-2020 The bjw Authors. All rights reserved.
 *
 * Use of this source code is governed by a MIT-style
 * license that can be found in the LICENSE file.
 * 
 * For more information, please visit: https://github.com/tengge1/ShadowEditor
 * You can also visit: https://gitee.com/tengge1/ShadowEditor
 */
import './css/Video.css';
import classNames from 'classnames/bind';
import PropTypes from 'prop-types';

/**
 * 视频查看器
 */
class Video extends React.Component {
    constructor(props) {
        super(props);

        this.handleClick = this.handleClick.bind(this, props.onClick);
        this.handleClickImage = this.handleClickVideo.bind(this);
    }

    render() {
        const {className, style, url} = this.props;

        return <div className={classNames('VideoMark', className)}
                    style={style}
                    onClick={this.handleClick}
        >
            <video src={url}
                   autoPlay={'autoplay'}
                   controls={'controls'}
                   onClick={this.handleClickVideo}
            />
        </div>;
    }

    handleClick(onClick, event) {
        onClick && onClick(event);
    }

    handleClickVideo(event) {
        event.stopPropagation();
    }
}

Video.propTypes = {
    className: PropTypes.string,
    style: PropTypes.object,
    url: PropTypes.string,
    onClick: PropTypes.func
};

Video.defaultProps = {
    className: null,
    style: null,
    url: null,
    onClick: null
};

export default Video;

对应的Video.css文件

.VideoMark {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1300;
}

.VideoMark>video {
    height: 100%;
    max-width: 100%;
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

协奏曲❤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值