【问题标题】:TypeError: player.watermark is not a function when using videojs-watermarkTypeError: player.watermark 在使用 videojs-watermark 时不是函数
【发布时间】:2019-02-17 18:25:40
【问题描述】:

我正在尝试使用 videojs-watermark npm 模块,但我得到的错误是:

TypeError: player.watermark 不是函数。

代码如下:

import React, { Component } from "react";
import videojs from "video.js";
import "videojs-watermark";

class App extends Component {
  componentDidMount() {
    const player = videojs("my-player");
    player.watermark({
      file: "watermarks.png",
      xpos: 50,
      ypos: 50,
      xrepeat: 0,
      opacity: 0.5,
    });
  }

  render() {
    return (
      <div className="App">
        <video
          id="my-player"
          class="video-js"
          controls
          preload="auto"
          poster="//vjs.zencdn.net/v/oceans.png"
          data-setup="{}"
        >
          <source src="//vjs.zencdn.net/v/oceans.mp4" type="video/mp4">
            {" "}
            .
          </source>
          <source
            src="//vjs.zencdn.net/v/oceans.webm"
            type="video/webm"
          ></source>
          <source src="//vjs.zencdn.net/v/oceans.ogv" type="video/ogg">
            {" "}
            .
          </source>
          <p class="vjs-no-js">
            To view this video please enable JavaScript, and consider upgrading
            to a web browser that
            <a href="http://videojs.com/html5-video-support/" target="_blank">
              supports HTML5 video
            </a>
          </p>
        </video>
        <script></script>
      </div>
    );
  }
}

export default App;

我猜 videojs-watermark 没有被反应识别。 我什至尝试将代码放入数据设置中,但这也会引发 videojs-watermark 不存在的错误。

【问题讨论】:

    标签: reactjs html5-video video.js watermark video-watermarking


    【解决方案1】:
    import React, { Component } from 'react';
    import videojs from 'video.js';
    
    import watermark from 'videojs-watermark';
    import 'videojs-watermark/dist/videojs-watermark.css';
    
    class App extends Component {
    
    componentDidMount(){
        videojs.registerPlugin('watermark', watermark);
        
        
        const player = videojs('my-player');
        player.watermark({
        file: 'watermarks.png',
        xpos: 50,
        ypos: 50,
        xrepeat: 0,
        opacity: 0.5,
        })
    }
    
    render() {
    return (
      <div className="App">
        <video
        id="my-player"
        class="video-js"
        controls
        preload="auto"
        poster="//vjs.zencdn.net/v/oceans.png"
        data-setup='{}'>
        <source src="//vjs.zencdn.net/v/oceans.mp4" type="video/mp4"> . 
        </source>
        <source src="//vjs.zencdn.net/v/oceans.webm" type="video/webm"> 
        </source>
        <source src="//vjs.zencdn.net/v/oceans.ogv" type="video/ogg"> . 
        </source>
      <p class="vjs-no-js">
        To view this video please enable JavaScript, and consider upgrading to a
        web browser that
        <a href="http://videojs.com/html5-video-support/" target="_blank">
          supports HTML5 video
        </a>
      </p>
    </video>
    <script>
    
    </script>
      </div>
    );
    }
    }
    
    export default App;
    

    【讨论】:

    • 稍微解释一下就好了,即使代码是唯一的真相
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 1970-01-01
    • 2013-07-16
    • 2019-04-01
    • 2021-10-29
    • 2015-11-23
    • 1970-01-01
    相关资源
    最近更新 更多