首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React.js -react-播放器如何播放本地视频

React.js -react-播放器如何播放本地视频
EN

Stack Overflow用户
提问于 2020-03-22 07:07:25
回答 4查看 30.6K关注 0票数 14

我目前正尝试在react.js的本地主机上播放视频。我使用react-player模块来创建一个视频播放器组件。我可以使用youtube和facebook链接等urls播放视频,但无法使用文件路径使用本地视频。我通读了github上关于该模块的所有文档,但我无法找到答案,这就是为什么我在这里问你这个问题。下面是我的代码:

代码语言:javascript
复制
import React, { Component } from 'react'
import ReactPlayer from 'react-player'



class Video extends Component {
    render () {
      return (
        <div className='player-wrapper'>
          <ReactPlayer
            className='react-player fixed-bottom'
            url= 'M_03292018202006_00000000U2940605_1_001-1.MP4'
            width='100%'
            height='100%'
            controls = {true}

          />
        </div>
      )
    }
  }

  export default Video;
EN

回答 4

Stack Overflow用户

发布于 2020-05-11 11:13:11

您必须创建视频对象URL。

代码语言:javascript
复制
import React, { useState } from "react"; 
import ReactPlayer from "react-player";

 const [videoFilePath, setVideoFilePath] = useState(null);


const handleVideoUpload = (event) => {
setVideoFilePath(URL.createObjectURL(event.target.files[0]));
};

……

代码语言:javascript
复制
<input type="file" onChange={handleVideoUpload} />

..。

代码语言:javascript
复制
<ReactPlayer url={videoFilePath} width="100%" height="100%" controls={true} />
票数 14
EN

Stack Overflow用户

发布于 2020-03-22 07:35:42

使用Create React App (简称CRA),您可以将视频文件放在公共文件夹中,例如,子文件夹videos中。然后,您可以像在代码中那样访问该静态文件。

CRA只会将文件复制到docs中提到的最终静态页面。

如果你不使用CRA设置,你需要将你的视频复制到最终的捆绑包中,例如使用Webpack。

代码语言:javascript
复制
import React, { Component } from 'react'
import ReactPlayer from 'react-player'

class Video extends Component {
    render () {
        return (
        <div className='player-wrapper'>
            <ReactPlayer
            className='react-player fixed-bottom'
            url= 'videos/demo_video.MP4'
            width='100%'
            height='100%'
            controls = {true}

            />
        </div>
        )
    }
}

export default Video;
票数 9
EN

Stack Overflow用户

发布于 2020-03-22 07:15:08

您需要将本地视频文件导入到组件中。

代码语言:javascript
复制
import myVideo from '../media/M_03292018202006_00000000U2940605_1_001-1.MP4'

class Video extends Component {
  render () {
    return (
      <div className='player-wrapper'>
        <ReactPlayer
          url={myVideo}
          // ...
        />
      </div>
    )
  }
}
代码语言:javascript
复制
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60794257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档