UNPKG

react-jplayer

Version:

Html5 audio and video player library for React

213 lines (205 loc) 5.29 kB
export const actionNames = { SET_MEDIA: 'JPLAYER_SET_MEDIA', CLEAR_MEDIA: 'JPLAYER_CLEAR_MEDIA', PLAY: 'JPLAYER_PLAY', PAUSE: 'JPLAYER_PAUSE', PLAY_HEAD: 'JPLAYER_PLAY_HEAD', VOLUME: 'JPLAYER_VOLUME', MUTE: 'JPLAYER_MUTE', FOCUS: 'JPLAYER_FOCUS', SET_OPTION: 'JPLAYER_SET_JPLAYER_OPTION', }; export const errors = { FORMAT_NO_SUPPORT: 'It is not possible to play any media format ' + 'provided on this browser using your current defaultOptions.', URL_NO_SUPPORT: 'The media URL could not be loaded.', URL_NOT_SET: 'Attempted to issue media playback commands while no media url is set.', INVALID_GLOBAL_METHOD: 'You passed an invalid jPlayer method to the global array', }; export const hints = { FORMAT_NO_SUPPORT: 'The browser may not support these file types.', URL_NO_SUPPORT: 'Check the media URL is valid.', URL_NOT_SET: 'Pass the media through the defaultOptions or use the setMedia() ' + 'action that is passed into the component props.', INVALID_GLOBAL_METHOD: 'Remove the invalid method from the "global" option', }; export const classes = { MEDIA: 'jp-media', JPLAYER: 'jp-jplayer', MUTE: 'jp-mute', DOWNLOAD: 'jp-download', VOLUME_BAR: 'jp-volume-bar', VOLUME_BAR_VALUE: 'jp-volume-bar-value', PLAYBACK_RATE_BAR: 'jp-playback-rate-bar', PLAYBACK_RATE_BAR_VALUE: 'jp-playback-rate-bar-value', BUFFER_BAR: 'jp-buffer-bar', PROGRESS: 'jp-progress', SEEK_BAR: 'jp-seek-bar', PLAY_BAR: 'jp-play-bar', SEEKING: 'jp-seeking-bg', GUI: 'jp-gui', NO_BROWSER_SUPPORT: 'jp-no-browser-support', PLAY: 'jp-play', PAUSE: 'jp-pause', STOP: 'jp-stop', REPEAT: 'jp-repeat', FULL_SCREEN: 'jp-full-screen', CURRENT_TIME: 'jp-current-time', DURATION: 'jp-duration', DETAILS: 'jp-details', TITLE: 'jp-title', SHUFFLE: 'jp-shuffle', PREVIOUS: 'jp-previous', NEXT: 'jp-next', POSTER: 'jp-poster', states: { AUDIO: 'jp-state-audio', VIDEO: 'jp-state-video', PLAYING: 'jp-state-playing', IDLE: 'jp-state-idle', SEEKING: 'jp-state-seeking', MUTED: 'jp-state-muted', VOLUME_LOW: 'jp-state-volume-low', VOLUME_HIGH: 'jp-state-volume-high', LOOPED: 'jp-state-looped', FULL_SCREEN: 'jp-state-full-screen', SHUFFLED: 'jp-state-shuffled', NO_BROWSER_SUPPORT: 'jp-state-no-browser-support', NO_VOLUME_SUPPORT: 'jp-state-no-volume-support', }, }; export const keyIgnoredElementNames = ['INPUT', 'TEXTAREA', 'SELECT']; export const formats = { mp3: { CODEC: 'audio/mpeg', MEDIA: 'audio', }, m4a: { // AAC / MP4 CODEC: 'audio/mp4; codecs="mp4a.40.2"', MEDIA: 'audio', }, m3u8a: { // AAC / MP4 / Apple HLS CODEC: 'application/vnd.apple.mpegurl; codecs="mp4a.40.2"', MEDIA: 'audio', }, m3ua: { // M3U CODEC: 'audio/mpegurl', MEDIA: 'audio', }, oga: { // OGG CODEC: 'audio/ogg; codecs="vorbis, opus"', MEDIA: 'audio', }, flac: { // FLAC CODEC: 'audio/x-flac', MEDIA: 'audio', }, wav: { // PCM CODEC: 'audio/wav; codecs="1"', MEDIA: 'audio', }, webma: { // WEBM CODEC: 'audio/webm; codecs="vorbis"', MEDIA: 'audio', }, fla: { // FLV / F4A CODEC: 'audio/x-flv', MEDIA: 'audio', }, rtmpa: { // RTMP AUDIO CODEC: 'audio/rtmp; codecs="rtmp"', MEDIA: 'audio', }, m4v: { // H.264 / MP4 CODEC: 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"', MEDIA: 'video', }, m3u8v: { // H.264 / AAC / MP4 / Apple HLS CODEC: 'application/vnd.apple.mpegurl; codecs="avc1.42E01E, mp4a.40.2"', MEDIA: 'video', }, m3uv: { // M3U CODEC: 'audio/mpegurl', MEDIA: 'video', }, ogv: { // OGG CODEC: 'video/ogg; codecs="theora, vorbis"', MEDIA: 'video', }, webmv: { // WEBM CODEC: 'video/webm; codecs="vorbis, vp8"', MEDIA: 'video', }, flv: { // FLV / F4V CODEC: 'video/x-flv', MEDIA: 'video', }, rtmpv: { // RTMP VIDEO CODEC: 'video/rtmp; codecs="rtmp"', MEDIA: 'video', }, }; export const defaultStatus = { newTime: null, // Needed to set a newTime as currentTime is auto updated by the audio guiFadeOut: false, playHeadPercent: 0, mediaSettings: { video: false, nonSupported: false, formats: [], }, paused: true, seeking: false, src: null, currentTimeText: '0:00', durationText: null, seekPercent: 0, currentPercentRelative: 0, currentPercentAbsolute: 0, currentTime: 0, duration: 0, bufferedTimeRanges: [], focused: false, }; export const defaultOptions = { preload: 'metadata', minPlaybackRate: 0.5, maxPlaybackRate: 4, playbackRate: 1.0, defaultPlaybackRate: 1.0, bufferColour: '#ddd', volume: 0.8, barDrag: true, pauseOthersOnPlay: true, startGuiFadeOut: false, guiFadeHoldTime: 2000, media: { sources: {}, tracks: [], title: null, artist: null, poster: null, free: false, }, keyBindings: {}, showRemainingDuration: false, muted: false, loop: false, autoplay: false, smoothPlayBar: false, fullScreen: false, verticalPlaybackRate: false, verticalVolume: false, keyEnabled: true, timeFormats: { showHour: false, showMin: true, showSec: true, padHour: false, padMin: true, padSec: true, sepHour: ':', sepMin: ':', sepSec: '', }, };