react-jw-player-master

所属分类:网络编程
开发工具:JavaScript
文件大小:27KB
下载次数:1
上传日期:2018-03-11 22:51:45
上 传 者cyzy168
说明:  是一个反应实例初始化JW播放器客户端组件。简单地给<< reactjwplayer >您的脚本的ID,和JW播放器的视频或播放列表的ID。组件附带几个事件钩子,可以通过组件道具访问它们。
(is a React Component for initializing client-side instances of JW Player. Simply give <ReactJWPlayer> the id of your player script, and the id of a JW Player video or playlist. The component comes with several event hooks that can be accessed through component props.)

文件列表:
.babelrc (79, 2018-02-26)
.eslintignore (26, 2018-02-26)
.eslintrc (33, 2018-02-26)
.npmignore (43, 2018-02-26)
.travis.yml (33, 2018-02-26)
package.json (1998, 2018-02-26)
src (0, 2018-02-26)
src\create-event-handlers (0, 2018-02-26)
src\create-event-handlers\index.js (654, 2018-02-26)
src\create-event-handlers\on-ad-play.js (222, 2018-02-26)
src\create-event-handlers\on-before-play.js (275, 2018-02-26)
src\create-event-handlers\on-full-screen.js (185, 2018-02-26)
src\create-event-handlers\on-mute.js (148, 2018-02-26)
src\create-event-handlers\on-play.js (375, 2018-02-26)
src\create-event-handlers\on-time.js (1386, 2018-02-26)
src\create-event-handlers\on-video-load.js (136, 2018-02-26)
src\default-props.js (817, 2018-02-26)
src\helpers (0, 2018-02-26)
src\helpers\get-curried-on-load.js (252, 2018-02-26)
src\helpers\get-event-name-from-prop.js (318, 2018-02-26)
src\helpers\get-player-opts.js (991, 2018-02-26)
src\helpers\initialize.js (1131, 2018-02-26)
src\helpers\install-player-script.js (343, 2018-02-26)
src\helpers\remove-jw-player-instance.js (202, 2018-02-26)
src\helpers\set-jw-player-defaults.js (427, 2018-02-26)
src\helpers\should-component-update.js (276, 2018-02-26)
src\player-prop-types.js (1432, 2018-02-26)
src\react-jw-player.jsx (3030, 2018-02-26)
test (0, 2018-02-26)
test\get-curried-on-load.test.js (694, 2018-02-26)
test\get-event-name-from-prop.test.js (798, 2018-02-26)
test\get-player-opts.test.js (4421, 2018-02-26)
test\helpers (0, 2018-02-26)
test\helpers\mock-component.js (262, 2018-02-26)
test\initialize.test.js (4356, 2018-02-26)
test\install-player-script.test.js (1529, 2018-02-26)
test\on-ad-play.test.js (1675, 2018-02-26)
... ...

# react-jw-player :movie_camera: [![Build Status](https://travis-ci.com/micnews/react-jw-player.svg?token=oCXvx519mb3xud77T3xi&branch=master)](https://travis-ci.com/micnews/react-jw-player) `` is a React Component for initializing client-side instances of JW Player. Simply give `` the id of your player script, and the id of a JW Player video or playlist. The component comes with several event hooks that can be accessed through component props. ## Contents * [Installation](#installation) * [Usage](#usage) * Props * [Required Props](#required-props) * Optional Props * [Configuration](#optional-configuration-props) * [Event Hooks](#event-hooks) * [Advertising](#optional-advertising-event-hook-props) * [Player Events](#optional-player-event-hook-props) * [Time Events](#optional-time-event-hook-props) * [Example Container Component](#example-container-component) * [Contributing](#contributing) ## Installation ```shell npm install react-jw-player ``` ## Usage At the mininum, you can just use something like the three following code snippets: ### Playing a JW Player JSON Playlist ``` javascript import React from 'react'; import ReactDOM from 'react-dom'; import ReactJWPlayer from 'react-jw-player'; ReactDOM.render( , document.getElementById('my-root-div'); ); ``` ### Playing a custom Playlist ``` javascript import React from 'react'; import ReactDOM from 'react-dom'; import ReactJWPlayer from 'react-jw-player'; const playlist = [{ file: 'https://link-to-my-video.mp4', image: 'https://link-to-my-poster.jpg', tracks: [{ file: 'https://link-to-subtitles.vtt', label: 'English', kind: 'captions', 'default': true }], }, { file: 'https://link-to-my-other-video.mp4', image: 'https://link-to-my-other-poster.jpg', }]; ReactDOM.render( , document.getElementById('my-root-div'); ); ``` ### Playing a Specific File ``` javascript import React from 'react'; import ReactDOM from 'react-dom'; import ReactJWPlayer from 'react-jw-player'; ReactDOM.render( , document.getElementById('my-root-div'); ); ``` For more complex interaction, check out the container component example [here](#example-container-component) To generate preroll, supply the player with the `generatePrerollUrl` prop. This prop just needs to be a function that returns a valid VAST tag! See (Optional Configuration Props)[#optional-configuration-props] for more info. ## Required Props These are props that modify the basic behavior of the component. * `playerId` * A unique Id for the player instance. Used to distinguish the container divs. * Type: `string` * Example: `playerId="my-jw-player-instance"` * `playerScript` * Link to a valid JW Player script. * Type: `string` * Example: `https://content.jwplatform.com/libraries/abCD1234.js` * `playlist` OR `file` * Link to a valid JW Player playlist or video file, or playlist array. Cool tip: JW Player automatically generates JSON feeds for individual videos if you use the video id in place of `abCD1234`. You can use this to get meta data on the videos without loading an actual playlist. * Type: `string` (for `file` and `playlist`) or `array` (for `playlist`) * Example: `https//content.jwplatform.com/feeds/abCD1234.json` ## Optional Configuration Props * `aspectRatio` * An optional aspect ratio to give the video player. Can be 'inherit', `1:1` or `16:9` currently. * Defaults to 'inherit'. * `className` * An optional class name to give the container div. * Type: `string` * `customProps` * An optional object containing properties to be applied directly to the JW Player instance. Add anything in the API, like skins, into this object. `customProps={{ skin: { name: 'six' } }}`. * Type: `object` * `isAutoPlay` * Determines whether the player starts automatically or not. * Type: `boolean` * `isMuted` * Determines whether the player starts muted or not. * Type: `boolean` * `generatePrerollUrl(video)` * Supply a function that returns a VAST or GOOGIMA tag for use in generating a preroll advertisement. * Arguments: * `video` * This is a video object for the current item loaded in the player. You can use it to help generate your preroll tags. * `image` * URL to a poster image to display before playback starts * Type: `string` * `licenseKey` * License Key as supplied in the jwplayer dashboard, under: Players > Tools > Downloads > JW Player X (Self-Hosted) * Type: `string` * `useMultiplePlayerScripts` * EXPERIMENTAL - Allows you to load multiple player scripts and still load the proper configuration. Expect bugs, but report them! * Type: `boolean` # Event Hooks `react-jw-player` dynamically supports all events in JW Player. Simply preface the event name with `on` and pass it in as a prop. Examples: * `ready` => `onReady` * `setupError` => `onSetupError` `react-jw-player` has layered some different functionality on some of these events, so please check the docs below if you find any unexpected behavior! ## Optional Advertising Event Hook Props * `onAdPause(event)` * A function that is run when the user pauses the preroll advertisement. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onAdPlay(event)` * A function that is run once, when the preroll advertisement first starts to play. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onAdResume(event)` * A function that is run when the user resumes playing the preroll advertisement. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onAdSkipped(event)` * A function that is run when the user skips an advertisement. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onAdComplete(event)` * A function that is run when an ad has finished playing. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. ## Optional Player Event Hook Props * `onAutoStart(event)` * A function that is run once, when an autoplaying player starts to play a video. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onEnterFullScreen(event)` * A function that is run when the user fullscreens a video. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onError(event)` * A function that is run when the player errors. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onExitFullScreen(event)` * A function that is run when the user un-fullscreens a video. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onMute(event)` * A function that is run when the user mutes the player. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onPause(event)` * A function that is run when the user pauses the player during a video. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onPlay(event)` * A function that is run when a video first starts to play. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onReady(event)` * A function that is run once when the video player is ready. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onResume(event)` * A function that is run when the user plays a video after pausing it. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onSetupError(event)` * A function that is run when the player errors during setup. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onTime(event)` * A function that is run whenever the playback position gets updated. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onUnmute(event)` * A function that is run when the user unmutes the player. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onVideoLoad(event)` * A function that is run whenever a new video is loaded into the player. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. ## Optional Time Event Hook Props * `onThreeSeconds(event)` * A function that is run when the playhead reaches passed the 3 second mark. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onTenSeconds(event)` * A function that is run when the playhead reaches passed the 10 second mark. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onThirtySeconds(event)` * A function that is run when the playhead reaches passed the 30 second mark. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onTwentyFivePercent(event)` * A function that is run when the playhead reaches passed the 25% mark. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onFiftyPercent(event)` * A function that is run when the playhead reaches passed the 50% mark. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onSeventyFivePercent(event)` * A function that is run when the playhead reaches passed the 75% mark. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onNinetyFivePercent(event)` * A function that is run when the playhead reaches passed the 95% mark. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. * `onOneHundredPercent(event)` * A function that is run when the a video ends. * Type: `function` * Arguments: * `event` * This is the event object passed back from JW Player itself. ## Example Container Component ``` javascript import React from 'react'; import PropTypes from 'prop-types'; import ReactJWPlayer from 'react-jw-player'; const displayName = 'ReactJWPlayerContainer'; const propTypes = { playlist: PropTypes.string.isRequired, playerScript: PropTypes.string.isRequired }; class ReactJWPlayerContainer extends React.Component { constructor(props) { super(props); this.state = { videoTitle: '', }; this.onAdPlay = this.onAdPlay.bind(this); this.onReady = this.onReady.bind(this); this.onVideoLoad = this.onVideoLoad.bind(this); // each instance of needs a unique id. // we randomly generate it here and assign to the container instance. this.playerId = someFunctionToRandomlyGenerateId(); } onReady(event) { // interact with JW Player API here const player = window.jwplayer(this.playerId); } onAdPlay(event) { // track the ad play here } onVideoLoad(event) { this.setState({ videoTitle: event.item.description // this only works with json feeds! }); } render() { return (

{ this.state.videoTitle }

); } } ReactJWPlayerContainer.propTypes = propTypes; ReactJWPlayerContainer.defaultProps = defaultProps; ReactJWPlayerContainer.displayName = displayName; export default ReactJWPlayerContainer; ``` ## Contributing **Just do it!** ![shia](https://media.giphy.com/media/87xihBthJ1DkA/giphy.gif)

近期下载者

相关文件


收藏者