为啥我无法播放 React HTML5 视频组件?

Posted

技术标签:

【中文标题】为啥我无法播放 React HTML5 视频组件?【英文标题】:Why can I not get a React HTML5 video component to Play?为什么我无法播放 React HTML5 视频组件? 【发布时间】:2017-06-03 10:06:29 【问题描述】:

我试图在我的 React 应用程序的主页组件上添加一个连续的 html5 视频循环。我使用 NPM 包“react-html5video”来生成这个组件。当我通过 localhost 启动应用程序时,它最初看起来好像会播放,但是我在 div 中收到以下错误,“视频无法在此浏览器中播放”。我似乎无法弄清楚我做错了什么。

    视频组件:

    import React from 'react';
    import Video from 'react-html5video';
    
    export class VideoLoop extends React.Component 
    render () 
    return (
      <Video controls autoPlay loop muted>
        <source
        src="../src/videos/oakmont.mp4"
        type="video/mp4"
        />
      </Video>
      );
     
    ;
    
    export default VideoLoop;
    

    主页组件:

    import React from 'react';
    import VideoLoop from './video_loop';
    
    export default () => 
    return <div>
            Home Page
            <VideoLoop />
          </div>
    ;
    

    路由

    import React from 'react';
    import  Route, IndexRoute  from 'react-router';
    import App from './components/app';
    import PropertyList from './components/property_list';
    import HomePage from './components/home_page';
    import AboutUs from './components/about_us';
    import Contact from './components/contact';
    
    
    export default (
    <Route path="/" component=App>
      <IndexRoute component=HomePage />
      <Route path="properties"  component=PropertyList />
      <Route path="aboutus"  component=AboutUs />
      <Route path="contact"  component=Contact />
    </Route>
    );
    

【问题讨论】:

你在多个浏览器上试过了吗? 是的,我在 chrome、chrome incognito 和 safari 上试过。全部返回相同的错误。 您确定../src/videos/oakmont.mp4 指向的是正确的视频文件吗? 检查 devTools 中的网络选项卡,看看是否找到并加载了视频文件 【参考方案1】:

在 react 中播放视频非常简单。

// I 
import video from '../src/videos/a.mp4'
//In your component

//Add other tags as necessary
<video src=video> </video>

您不需要任何其他模块。

【讨论】:

如果我需要根据道具加载不同的视频怎么办? 视频未播放。仅显示图像。 这引导我走向正确的方向:semicolonworld.com/question/61335/…【参考方案2】:

这对我有用:似乎它预加载源然后可以在页面上自动播放!---

import React from "react";

import video from '../Video/Teheran.mp4';


       <video controls autoPlay loop muted>
          <source src=video type="video/mp4" >
          </source>

【讨论】:

以上是关于为啥我无法播放 React HTML5 视频组件?的主要内容,如果未能解决你的问题,请参考以下文章

为啥苹果设备在自己的播放器中播放 html5 视频?

使用 React 更新 HTML5 视频的源 URL

为啥 Firefox 不能从 Localhost 播放 HTML5 视频元素?

React Native知识8-WebView组件

为啥 Internet Explorer 对 HTML5 视频显示“错误:视频播放已中止”?

Android WebView播放html5视频,退出全屏后为啥就是黑屏了