React导入视频后页面无法显示视频的问题求助
问题原因
你使用的YouTube链接是网页播放地址(https://www.youtube.com/watch?v=Nfs1vsDlrxI),并非视频文件的直接源地址。<video>标签仅支持加载MP4、WebM等格式的媒体文件直链,无法解析网页内容,所以即便请求状态码为200,也无法正常渲染视频。
解决方法
推荐使用YouTube官方提供的嵌入iframe方案,这是最稳定且合规的播放方式,修改后的代码如下:
import React from "react"; function Video() { return ( <div className="video"> <iframe width="320" height="240" src="https://www.youtube.com/embed/Nfs1vsDlrxI" title="YouTube video player" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen ></iframe> </div> ); } export default Video;
补充说明
- 将原链接中的
watch?v=替换为embed/,即可得到YouTube的嵌入地址 allow属性用于开启自动播放、画中画等功能,可根据需求调整
如果坚持要使用<video>标签,需要获取YouTube视频的直接媒体链接,但这类链接会被YouTube频繁更新,且涉及版权合规问题,不建议采用。
内容的提问来源于stack exchange,提问作者Harsh Bardolia
相关产品推荐
相关产品推荐

