最近有个客户需要使用视频背景。电脑倒是好处理。但是手机端不会自动播放。于是找到了这个播放插件
代码获取和使用说明 https://github.com/mediaelement/mediaelement/blob/master/docs/api.md
<!--html-->
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/mediaelement@4.2.16/build/mediaelementplayer.min.css">
<div class="player"><!--poster="images/big_buck_bunny.jpg"-->
<video id="player1" width="640" height="360" preload="none" controls style="max-width: 100%" autoplay playsinline webkit-playsinline>
<source src="/1017379468-hd_converted.mp4" type="video/mp4">
</video>
</div>
</div>
<!-- JS加入了 如下参数 AutoPlay:true,features:[''],clickToPlayPause:false, -->
<script src="https://cdn.jsdelivr.net/npm/mediaelement@4.2.16/build/mediaelement-and-player.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
var mediaElements = document.querySelectorAll('video, audio'), total = mediaElements.length;
for (var i = 0; i < total; i++) {
new MediaElementPlayer(mediaElements[i], {
pluginPath: 'https://cdn.jsdelivr.net/npm/mediaelement@4.2.16/build/',
shimScriptAccess: 'always',
loop: true,
AutoPlay:true,features:[''],clickToPlayPause:false,
success: function () {
var target = document.body.querySelectorAll('.player'), targetTotal = target.length;
for (var j = 0; j < targetTotal; j++) {
target[j].style.visibility = 'visible';
}
}
});
}
});
</script>
MediaElementPlayer得参数。
Parameter | Type | Default | Description |
---|---|---|---|
classPrefix | string |
mejs__ |
Class prefix for player elements |
poster | string | (empty) |
Poster URL that overrides poster attribute |
showPosterWhenEnded | boolean |
false |
When the video is ended, show the poster |
showPosterWhenPaused | boolean |
false |
When the video is paused, show the poster |
defaultVideoWidth | number |
480 |
Default width if the <video> width is not specified |
defaultVideoHeight | number |
270 |
Default height if the <video> height is not specified |
videoWidth | number |
-1 |
If set, overrides <video> width |
videoHeight | number |
-1 |
If set, overrides <video> height |
defaultAudioWidth | number |
400 |
Default width for audio player if the user doesn't specify |
defaultAudioHeight | number |
30 |
Default height for audio player if the user doesn't specify |
defaultSeekBackwardInterval | function |
Default amount to move back when back key is pressed. Default callback is represented like: function(media) {return (media.duration * 0.05);} |
|
defaultSeekForwardInterval | function |
Default amount to move forward when forward key is pressed. Default callback is represented like: function(media) {return (media.duration * 0.05);} |
|
setDimensions | boolean |
true |
Set dimensions via JS instead of CSS |
audioWidth | number |
-1 |
Width of audio player |
audioHeight | number |
-1 |
Height of audio player |
startVolume | number |
0.8 |
Initial volume when the player starts (overrided by user cookie); represented with float values |
loop | boolean |
false |
Whether to loop or not media |
autoRewind | boolean |
true |
Rewind to beginning when media ends |
enableAutosize | boolean |
true |
Resize to media dimensions |
timeFormat | string | (empty) |
Time format to use. Default: 'mm:ss' . Supported units: h : hour, m : minute, s : second and f : frame count. If use 2 letters, 2 digits will be displayed (hh:mm:ss ) |
alwaysShowHours | boolean |
false |
Force the hour marker (##:00:00 ) |
showTimecodeFrameCount | boolean |
false |
Whether to show frame count in timecode (##:00:00:00 ) |
framesPerSecond | number |
25 |
Used when showTimecodeFrameCount is set to true |
autosizeProgress | boolean |
true |
Automatically calculate the width of the progress bar based on the sizes of other elements |
alwaysShowControls | boolean |
false |
Hide controls when playing and mouse is not over the video |
hideVideoControlsOnLoad | boolean |
false |
Display the video control when media is loading |
hideVideoControlsOnPause | boolean |
false |
Display the video controls when media is paused |
clickToPlayPause | boolean |
true |
Enable click video element to toggle play/pause |
controlsTimeoutDefault | number |
1500 |
Time in ms to hide controls |
controlsTimeoutMouseEnter | number |
2500 |
Time in ms to trigger the timer when mouse moves |
controlsTimeoutMouseLeave | number |
1000 |
Time in ms to trigger the timer when mouse leaves |
iPadUseNativeControls | boolean |
false |
Force iPad's native controls |
iPhoneUseNativeControls | boolean |
false |
Force iPhone's native controls |
AndroidUseNativeControls | boolean |
false |
Force Android's native controls |
features | array |
[...] |
List of features/plugin to use in the player; some will be included in the control bar (by default IN STRICT ORDER: playpause , current , progress , duration , tracks , volume , fullscreen ) |
useDefaultControls | boolean |
false |
If set to true , all the default control elements listed in features above will be used, and the features will append any other plugins indicated in features . This approach is used mostly when adding more plugins WITHOUT modifying the elements in the control bar in any capacity |
isVideo | boolean |
true |
Only for dynamic purposes |
stretching | string |
auto |
Stretching modes for video player. If auto is set, player will try to find the max-width and max-height CSS styles to turn it into responsive mode; otherwise, will set the dimensions specified in the tag (same as setting this option as none ). The fill mode will try to use the available space to make the video fit and, when window is resized, it will crop the dimensions to center it according to the available space. |
enableKeyboard | boolean |
true |
Turns keyboard support on and off for this instance |
pauseOtherPlayers | boolean |
true |
When focused player starts, it will pause other players |
ignorePauseOtherPlayersOption | boolean |
true |
it will ignore pauseOtherPlayers option on currentplayer |
secondsDecimalLength | number |
0 |
Number of decimal places to show if frames are shown |
customError | string/callback |
null |
If error happens, set up customized HTML message through a string or a function. The function has 2 parameters: media (the wrapper that mimics all the native events/properties/methods for all renderers) and node (the original HTML video , audio or iframe tag where the media was loaded originally) |
keyActions | array |
[...] |
Keyboard actions to trigger different actions. Accepts array of objects in format: {keys: [1,2,3...], action: function(player, media) { ... }} . To see the entire list, please check /src/js/mediaelementplayer-player.js |
duration | number |
-1 |
Start point to detect changes on media time duration |
timeAndDurationSeparator | string |
<span> | </span> |
Separator between the current time and the total duration of media being played |
hideVolumeOnTouchDevices | boolean |
true |
Touch devices (specially mobile devices) have different way to handle volume, so no need to display it |
enableProgressTooltip | boolean |
true |
Enable/disable tooltip that shows time popup in progress bar |
useSmoothHover | boolean |
true |
Enable smooth behavior when hovering progress bar (like YouTube's) |
forceLive | boolean |
false |
If set to true , the Live Broadcast message will be displayed and progress bar will be hidden, no matter if duration is a valid number |
audioVolume | string |
horizontal |
Position of volume slider on audio element |
videoVolume | string |
vertical |
Position of volume slider on video element |
usePluginFullScreen | boolean |
true |
Flag to activate detection of Pointer events when on fullscreen mode |
useFakeFullscreen | boolean |
false |
Flag to bypass native capabilities on mobile devices and use the fake-fullscreen mode |
tracksAriaLive | boolean |
false |
By default, no WAI-ARIA live region - don't make a screen reader speak captions over an audio track. |
hideCaptionsButtonWhenEmpty | boolean |
true |
Option to remove the [cc] button when no <track kind="subtitles"> are present |
captionTextPreprocessor | function | not set | Option to preprocess the caption text before it is displayed. If set, it expects a function which takes in caption text and returns a preprocessed version thereof. If it is not set, the caption text is displayed as is. |
toggleCaptionsButtonWhenOnlyOne | boolean |
false |
If true and we only have one track, change captions to toggle button |
startLanguage | string | (empty) |
Automatically turn on a <track> element. Note: Will not work when toggleCaptionsButtonWhenOnlyOne is set to true |
slidesSelector | string | (empty) |
Selector for slides; could be any valid JavaScript selector (#id , .class , img , etc.) |
tracksText | string |
null |
Title for Closed Captioning button for WARIA purposes |
chaptersText | string |
null |
Title for Chapters button for WARIA purposes |
muteText | string |
null |
Title for Mute button for WARIA purposes |
unmuteText | string |
null |
Title for Unmute button for WARIA purposes |
allyVolumeControlText | string |
null |
Title for Volume slider for WARIA purposes |
fullscreenText | string |
null |
Title for Fullscreen button for WARIA purposes |
playText | string |
null |
Title for Play/Pause button for WARIA purposes when media is playing |
pauseText | string |
null |
Title for Play/Pause button for WARIA purposes when media is paused |