首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gatsby上的Plyr视频播放器

Gatsby上的Plyr视频播放器
EN

Stack Overflow用户
提问于 2021-02-15 23:01:14
回答 1查看 204关注 0票数 0

我想添加plyr视频播放器与下面选择的选项到我的gatsby博客。它从获取的json文件中获取视频url。我只是尝试直接添加markdown,但它有时加载,有时不加载。获取的url正在从一个帖子更改为另一个帖子。

代码

代码语言:javascript
复制
<video id="player" playsinline controls ></video>
<script src="https://cdn.plyr.io/3.6.4/plyr.js"></script>
<script>
var controls =['play-large', 'rewind','play','fast-forward','progress','current-time','duration','mute','volume','settings','pip', 'airplay','download','fullscreen'];
var player = new Plyr('#player', { controls });
fetch("test.url")
  .then(resp => resp.json())
  .then( data => {
    player.source = {
      type: 'video',
      title: data[0].label,
      sources: [
        {
          src: data[0].file,
          type: data[0].type,
          size: 720,
        },
      ],
    };
})
</script>

Json数据

代码语言:javascript
复制
[{"label":"Original","file":"link.mp4","type":"video\/mp4"}]
EN

回答 1

Stack Overflow用户

发布于 2021-02-15 23:41:48

我只是试着直接添加markdown,但它有时加载,有时不加载

你需要了解到底发生了什么。您正在加载一个外部脚本(来自CDN:https://cdn.plyr.io/3.6.4/plyr.js),直接位于React和Gatsby的作用域之外。当然,在生产环境(gatsby build)中,情况会变得很奇怪,因为在这里,代码的行为略有不同。

如果您在React中工作,则需要使用基于React的依赖项,在本例中为react-plyr。安装后,请执行以下操作:

代码语言:javascript
复制
npm install react-plyr --save

您可以通过以下方式简单地使用它:

代码语言:javascript
复制
import Plyr from 'react-plyr';

const IndexPage =()=>{

  return (
    <Plyr
      type="youtube" // or "vimeo"
      videoId="CDFN1VatiJA"
    />
  )
}

注意:videoId可以是视频ID,也可以是媒体地址。

在这一点上,您可以选择JSON或markdown方法,这让您感觉很舒服。重要的是从每种方法中获取videoId参数(源)。

下面是使用Plyr +Gatsby的详细文章:https://chaseohlson.com/plyr-gatsby-youtube-vimeo

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66210363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档