【问题标题】:How to use youtube onPlay={} function with ReactJS?如何在 ReactJS 中使用 youtube onPlay={} 函数?
【发布时间】:2020-12-28 08:27:37
【问题描述】:

我安装了 youtube-react API,你我得到了 onPlay 功能,但问题是加载视频很慢<YouTube videoId={Projects.videoID} onPlay={autoplayChange} onPause={autoplayChange} onEnd={autoplayChange}/>

如何使用带有 youtube API 的常规 iframe 重新创建此类似功能?我找不到任何关于在 reactjs 中实现它的文档。 https://developers.google.com/youtube/iframe_api_reference googles API 参考提到了 onStateChange 下的函数,但我无法弄清楚我认为这里有人可能对我的问题有答案的实现。提前致谢。

【问题讨论】:

    标签: javascript html reactjs youtube-javascript-api youtube-iframe-api


    【解决方案1】:

    查看react-player,你可以用npm快速安装:

    npm install react-player
    

    它速度很快,并且可以让您对正在寻找的 onPlay 功能进行大量控制。来自git 的示例:

    import React from 'react'
    import ReactPlayer from 'react-player/lazy'
    
    // Lazy load the YouTube player
    <ReactPlayer url='https://www.youtube.com/watch?v=ysz5S6PUM-U' />
    

    使用钩子,您可以像这样添加 onPlay 功能:

    import React, { useState } from 'react'
    import ReactPlayer from 'react-player/lazy'
    
    const MyPlayer = () => {
    
        const [ playState, setPlayState ] = useState(false);
    
        const yourFunction = (event) => {
    
            console.log('Your event: ', event);
    
        };
    
        return (
            <ReactPlayer 
                url='https://www.youtube.com/watch?v=ysz5S6PUM-U'
                playing={playState}
                onPlay={yourFunction}/>
        );
    
    }
    
    

    【讨论】:

    • 谢谢,我会试一试的
    • @lukeet 如果出现这些错误,我很乐意帮助您解决这些错误,只需打开一个新问题并联系我,我会告诉您如何解决这些讨厌的警告!
    • 非常感谢您的帮助,非常感谢!
    • @lukeet 不用担心,我会在接下来的几分钟内查看您的个人资料。想打开一个新问题?我知道其中的原因,并且可以提供一些背景信息。
    • 好的,谢谢,现在打开问题,如果是的话,我会以更新的形式在编辑中发布它可能为时过早
    猜你喜欢
    • 2023-01-28
    • 2019-06-16
    • 2022-11-02
    • 2022-12-10
    • 2018-02-04
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 2020-07-26
    相关资源
    最近更新 更多