Youtube嵌入react控件,点击播放

Alt*_*tro 1 html javascript youtube reactjs

我有一个带有 YouTube 视频和按钮的 iframe,我想在单击按钮时播放 YouTube 视频

这是我的代码

<iframe width="560" height="315" src="https://www.youtube.com/embed/tu-bgIg-Luo" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<button>Play</button>
Run Code Online (Sandbox Code Playgroud)

谢谢

PS我正在使用react,所以我需要react或HTML/CSS/JS解决方案(请不是jQuery)

Shu*_*rma 7

autoplay您可以在 youtube url 中传递 url 参数:

像这样

?autoplay=1
Run Code Online (Sandbox Code Playgroud)

这是完整的代码:

import React from "react";
import "./styles.css";

export default function App() {
  const [play, setPlay] = React.useState(false);
  const url = play
    ? `https://www.youtube.com/embed/tu-bgIg-Luo?autoplay=1`
    : `https://www.youtube.com/embed/tu-bgIg-Luo`;
  return (
    <div className="App">
      <iframe
        width="560"
        height="315"
        src={url}
        frameborder="0"
        allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
        allowfullscreen
      ></iframe>
      <button onClick={() => setPlay(true)}>Play</button>
    </div>
  );
}


Run Code Online (Sandbox Code Playgroud)

这是演示:https://codesandbox.io/s/serene-yonath-9z2hs? file=/src/App.js:0-556