Go to file
2022-10-19 16:46:13 -04:00
.circleci Add npm install before npm run build 2022-10-19 16:41:40 -04:00
.github Replace GitHub Actions with CircleCI 2022-10-19 10:44:46 -04:00
dash_player Rebuild package 2022-10-19 16:42:10 -04:00
inst/deps Rebuild Dash Player 2022-10-18 14:21:04 -04:00
man Re-install and rebuild files 2022-10-12 15:58:31 -04:00
R Re-install and rebuild files 2022-10-12 15:58:31 -04:00
src Pass id prop into ReactPlayer component 2022-10-18 14:20:53 -04:00
tests Switch assert statements to wait_for_text_to_equal 2022-10-19 16:46:13 -04:00
_validate_init.py Use black to reformat files 2022-10-18 16:29:41 -04:00
.babelrc Update babel and eslint config files 2022-09-16 23:03:42 -04:00
.builderrc All Properties working, added usages 2018-07-26 18:00:18 -04:00
.eslintrc Update babel and eslint config files 2022-09-16 23:03:42 -04:00
.gitignore Add src/lib back 2019-03-01 13:15:22 -05:00
.npmignore All Properties working, added usages 2018-07-26 18:00:18 -04:00
.Rbuildignore Re-install and rebuild files 2022-10-12 15:58:31 -04:00
CONTRIBUTING.md Rebuild with setprops handling 2019-03-01 13:10:39 -05:00
dash-info.yaml Initial commit of dashPlayer package for R (#9) 2019-07-04 12:29:29 -04:00
DESCRIPTION Re-install and rebuild files 2022-10-12 15:58:31 -04:00
index.html Rebuild with setprops handling 2019-03-01 13:10:39 -05:00
LICENSE Update LICENSE 2022-05-09 18:06:11 -04:00
MANIFEST.in Rebuild with setprops handling 2019-03-01 13:10:39 -05:00
NAMESPACE Re-install and rebuild files 2022-10-12 15:58:31 -04:00
package-lock.json Change backend to backends 2022-10-18 14:37:46 -04:00
package.json Rebuild package 2022-10-19 16:42:10 -04:00
README.md Simplify build command to npm run build 2022-10-04 14:20:10 -04:00
requirements-dev.txt Fix requirements-dev 2022-10-19 16:13:36 -04:00
requirements.txt Add pyyaml to requirements.txt 2022-09-16 16:20:38 -04:00
review_checklist.md Rebuild with setprops handling 2019-03-01 13:10:39 -05:00
setup.py Change steup.py package name parsing 2022-10-12 17:04:55 -04:00
usage-advanced.py Fix consolidate imports from dash 2022-09-16 16:02:18 -04:00
usage-method.py Uncomment code in usage-method.py 2022-10-12 16:00:28 -04:00
usage.py Remove unused imports 2022-10-18 16:26:03 -04:00
webpack.config.js Build package without using @plotly scope in name 2022-10-04 14:10:30 -04:00
webpack.serve.config.js Rebuild with setprops handling 2019-03-01 13:10:39 -05:00

Dash Player

GitHub GitHub stars

Dash Player is a Dash component for playing a variety of URLs, including file paths, YouTube, Facebook, Twitch, SoundCloud, Streamable, Vimeo, Wistia, Mixcloud, and DailyMotion. It is wrapped around the ReactPlayer component.

For updates and more, please see the ongoing changes to this repository's issue tracker or the Dash community discussion on Dash Player.

This is a custom community component, so if your organization or company is interested in sponsoring enhancements to this project, please reach out to the Plotly Dash team.

Getting started

Here are the following steps to get started with using Dash Player in your own Dash apps

$ git clone https://github.com/plotly/dash-player
$ cd dash-player
$ npm install

Once that's done, you can copy the dash_player package in the folder of your app, and import it within your app.

Build manually

To generate builds manually, run the following:

$ npm install webpack webpack-cli
$ npm run build

Usage

usage.py provides you with the basic functionality of the app. Use it to learn the most basic implementation of a Dash Player component.

usage-methods.py allows you to test properties that are updated at an interval.

usage-advanced.py gives an overview of the full functionality of the component, and serves as an extensive testing tool.

Documentation

Prop Description Default
id The ID used to identify this component in Dash callbacks.
className The CSS class used to identify this component in external stylesheets.
url The url of the media to be played.
playing Whether or not the media is currently playing. Can be set to True or False to play and pause the media, respectively. false
loop Whether or not the media will loop once the player reaches the end. Can be set to True or False to set looping on or off, respectively. false
controls Set to true or false to display native player controls. Vimeo, Twitch and Wistia player will always display controls. false
volume A number between 0 and 1 representing the volume of the player. If set to None, Dash Player ises default volume on all players. null
muted Set to true or false to mute or unmute player volume, respectively. Only works if volume is set. false
playbackRate Set the playback rate of the player (only supported by YouTube, Wistia, and file paths).
width A number or string representing the pixel width of the player. 640px
height A number or string representing the pixel height of the player. 360px
style Optional additional CSS styles. If width or height are supplied within style, then this will override the component-level width or height. {}
playsinline Applies the html5 playsinline attribute where supported, which allows videos to be played inline and will not automatically enter fullscreen mode when playback begins (for iOS). false
currentTime Returns the number of seconds that have been played
secondsLoaded Returns the number of seconds that have been loaded
duration Returns the duration (in seconds) of the currently playing media
intervalCurrentTime Interval in milliseconds at which currenTtime prop is updated. 40
intervalSecondsLoaded Interval in milliseconds at which secondsLoaded prop is updated. 500
intervalDuration Interval in milliseconds at which duration prop is updated. 500
seekTo Seek to the given number of seconds, or fraction if amount is between 0 and 1 null

Built With

  • Dash - Main server and interactive components
  • ReactPlayer - The react component that was wrapped by this

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Authors

  • Xing Han - Initial Work - @xhlulu
  • Alex Hsu - Maintainer/Ongoing Developer - @alexshoe
  • Chris - Code Review

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details