我有一个页面,可以从YouTube API提取数据。当我单击视频之一时,有关该视频的数据将通过WebSockets发送。问题是,当我第一次单击它时,将调用react-player的onDuration。之后,如果我单击其他视频,则不会调用onDuration。
handleDuration = (duration) => {
this.setState({
duration: duration,
}, () => {
let data = {
play: this.state.play,
url: this.state.url,
mute: this.state.mute,
duration: this.state.duration,
seek: this.state.seek,
};
streamSocket.send(JSON.stringify(data));
});
console.log("handleDuration");
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
此功能与onDuration相关。
GitHub URL:https://github.com/algomaster99/stream-2.0/tree/master/stream-frontend
stream.js和videoItem.js将是您需要关注的文件。
编辑:将onDuration更改为onReady。它仍然仅适用于我选择的第一个视频。