podigee / podigee-podcast-player

Podcast Web Player
https://www.podigee.com/en/podcast-player
MIT License
207 stars 41 forks source link

Podigee Podcast Player

The Podigee Podcast Player is a state of the art web audio player specially crafted for listening to podcasts.

Demo

Features

The PPP at it's core is an embeddable HTML5 audio player. It supports theming, extensions and unicorns.

Extensions

The player is extensible and ships with the following default extensions:

Themes

The player is completely themeable, you can even change the markup! It comes with a responsive default theme. Themes currently available:

You can find some details on how to create your own theme here.

Compatibility

We aim to always support the latest 2-3 versions of modern browsers. Internet Explorer is fully supported from version 11 on. Version 9 is not officially supported, but basic playback should work fine there too.

Usage

By default the player is integrated into the page using a <script> HTML tag. This is necessary to render the player in an iframe to ensure it does not interfere with the enclosing page's CSS and JS while still being able to resize the player interface dynamically.

Inline configuration

data-configuration should be set to the JS variable name you saved the configuration to.

window.playerConfiguration = {
  "episode": {
    "media": {"mp3": "https://example.com/episode-1.mp3"},
    "title": "Transcript Test"
  }
}
<script class="podigee-podcast-player" src="https://player.podigee-cdn.net/podcast-player/javascripts/podigee-podcast-player.js" data-configuration="playerConfiguration"></script>

Remote configuration

data-configuration should be set to a URL to a JSON configuration file.

<script class="podigee-podcast-player" src="https://player.podigee-cdn.net/podcast-player/javascripts/podigee-podcast-player.js" data-configuration="https://example.com/my-podcast-episode.json"></script>

Simple Iframe with external configuration

If you can't use a <script> tag to embed the player, you can also use an <iframe> directly like this:

iframe {
  border: none;
  height: 500px;
  width: 100%;
}

<iframe class="podigee-podcast-player" src="https://player.podigee-cdn.net/podcast-player/podigee-podcast-player.html?configuration=https://example.com/my-podcast-episode.json"></iframe>

Please note that with this method you need to either specify a startPanel to show by default and adjust the iframe height accordingly or disable all extensions to just show the player. With this method the player will not automatically resize when a panel is opened.

Who

We are Podigee, an awesome Podcast Hosting Platform.

Contribute

If you would like to propose new features or have found a bug, please use Github issues to tell us.

Installing the dev dependencies

Assuming nodejs is installed

Install dependencies

Install yarn: https://yarnpkg.com/en/docs/install

yarn install

Run dev server (also watches and builds assets live)

gulp serve

Build dev assets

gulp dev

Build production assets

gulp build

Open http://0.0.0.0:8081/ in your browser.

License

MIT