2017-01-24 38 views
0

我想將標記添加到我的videojs播放器timeLime中。我已經看到了如何實施它,並且幾個月前就已經實施了,並且那個時候工作。現在在我的另一個項目中,我想使用相同的。但它在控制檯中給我帶來了錯誤(如下所示),我無法在播放器時間線上看到我的標記。player.markers在使用videojs標記時不是函數錯誤

enter image description here enter image description here

class Player extends Component { 
    constructor() { 
     super(); 
     this.state = { 
      player: {} 
     }; 
    } 
componentDidMount() { 
    var self = this; 
    var player = videojs(this.refs.video, this.props.options).ready(function() { 
     self.player = this; 
     self.player.on('play', self.handlePlay); 
    }); 

    // $.get('URL-TO-FETCH-DATA-FROM', function(result) { 
    //  if (this.isMounted()) { 
    //   this.setState({ 
    //    dataVar1: result 
    //   }); 
    //  } 
    // }.bind(this)); 

    if (this.props.onPlayerInit) this.props.onPlayerInit(player); 





    player.markers({ 
     markerStyle: {}, 
     markers: this.props.marker_store, 
     onMarkerReached: function() { 
      // player.pause(); 
     }, 
    }); 
    this.setState({player: player}); 

} 



handlePlay() { 
    console.log("handle play ") 

} 

render() { 
    var props = blacklist(this.props, 'children', 'className', 'src', 'type', 'onPlay'); 
    props.className = cx(this.props.className, 'videojs', 'video-js vjs-default-skin', 'vjs-big-play-centered'); 


    assign(props, { 
     ref: 'video', 
     controls: true, 
    }); 

    return (
      <video {... props}> 
       <source src={videoSrc} type="video/mp4"/> 
      </video> 
     ) 
} 
} 

const mapStateToProps = (state) => { 
    return { 
     marker_store:state.markerReducer 
    }; 
}; 

export default connect(mapStateToProps)(Player); 

,這些都是markers.js插件,它是扔videojs代碼沒有定義錯誤

}; 
    } 

    videojs.plugin('markers', registerVideoJsMarkersPlugin); 


})(jQuery, window.videojs); 

的線我應該如何解決這個問題,使我能夠看到我的播放器上的標記?

回答

0

我想你忘了把視頻標籤中的ref。

<video ref="video" {... props}> 
    <source src={videoSrc} type="video/mp4"/> 
</video> 
+0

即已經存在在分配(道具,{ REF: '視頻', 控制:真, }); – ApurvG

+0

對不起,我沒有注意到。我很好奇,知道如何將道具添加到道具上。這是否像object.assign一樣工作。 – duwalanise