diff --git a/docs/docs/README.md b/docs/docs/README.md index 308a4d962..2b6b9fac7 100644 --- a/docs/docs/README.md +++ b/docs/docs/README.md @@ -90,6 +90,49 @@ var art = new Artplayer({ }); ``` +## type + +- Type: `String` +- Default: `''` + +Specify the format for the `url`, use with `customType` + +[Run Code](/) + +```js +var url = 'https://blog.zhw-island.com/assets-cdn'; +var art = new Artplayer({ + container: '.artplayer-app', + url: url + '/video/one-more-time-one-more-chance-480p.flv' + type: 'flv' +}); +``` + +## customType + +- Type: `Object` +- Default: `{}` + +Customize when loading third-party libraries + +[Run Code](/) + +```js +var url = 'https://blog.zhw-island.com/assets-cdn'; +var art = new Artplayer({ + container: '.artplayer-app', + url: url + '/video/one-more-time-one-more-chance-480p.flv' + type: 'flv', + customType: { + flv: function(video, url, art) { + // video: The video element + // url: The video url + // art: The Artplayer instance + } + } +}); +``` + ## poster - Type: `String` @@ -915,6 +958,117 @@ var art = new Artplayer({ > TODO... +# Third-party libraries + +## flv.js + +- HomePage: [https://github.com/Bilibili/flv.js](https://github.com/Bilibili/flv.js) + +[Run Code](/lib=https://cdn.bootcss.com/flv.js/1.4.2/flv.js) + +```js +var url = 'https://blog.zhw-island.com/assets-cdn'; +var art = new Artplayer({ + container: '.artplayer-app', + url: url + '/video/one-more-time-one-more-chance-480p.flv', + customType: { + flv: function(video, url) { + const flvPlayer = flvjs.createPlayer({ + type: 'flv', + url: url, + }); + flvPlayer.attachMediaElement(video); + flvPlayer.load(); + }, + }, +}); +``` + +## hls.js + +- HomePage: [https://github.com/video-dev/hls.js](https://github.com/video-dev/hls.js) + +[Run Code](/lib=https://cdn.bootcss.com/hls.js/0.10.1/hls.js) + +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: 'https://video-dev.github.io/streams/x36xhzz/x36xhzz.m3u8', + customType: { + m3u8: function(video, url) { + var hls = new Hls(); + hls.loadSource(url); + hls.attachMedia(video); + }, + }, +}); +``` + +## dash.js + +- HomePage: [https://github.com/Dash-Industry-Forum/dash.js](https://github.com/Dash-Industry-Forum/dash.js) + +[Run Code](/lib=https://cdn.bootcss.com/dashjs/2.9.2/dash.all.min.js) + +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: 'https://dash.akamaized.net/envivio/EnvivioDash3/manifest.mpd', + customType: { + mpd: function(video, url) { + var player = dashjs.MediaPlayer().create(); + player.initialize(video, url, true); + }, + }, +}); +``` + +## shaka-player + +- HomePage: [https://github.com/google/shaka-player](https://github.com/google/shaka-player) + +[Run Code](/lib=https://cdn.bootcss.com/shaka-player/2.5.0-beta/shaka-player.compiled.js) + +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: '//storage.googleapis.com/shaka-demo-assets/angel-one/dash.mpd', + customType: { + mpd: function(video, url) { + shaka.polyfill.installAll(); + var player = new shaka.Player(video); + player.load(url); + }, + }, +}); +``` + +## webtorrent + +- HomePage: [https://github.com/webtorrent/webtorrent](https://github.com/webtorrent/webtorrent) + +[Run Code](/lib=https://cdn.bootcss.com/webtorrent/0.102.4/webtorrent.min.js) + +```js +var art = new Artplayer({ + container: '.artplayer-app', + url: 'magnet:?xt=urn:btih:6a9759bffd5c0af65319979fb7832189f4f3c35d&dn=sintel.mp4&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&tr=wss%3A%2F%2Ftracker.webtorrent.io&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fsintel-1024-surround.mp4', + type: 'torrent', + customType: { + torrent: function (video, url, art) { + var client = new WebTorrent(); + art.loading.show(); + client.add(url, function (torrent) { + var file = torrent.files[0]; + file.renderTo(video, { + autoplay: true + }) + }) + }, + }, +}); +``` + # Issue > TODO... diff --git a/docs/docs/runCode.js b/docs/docs/runCode.js index 069fba6f2..03ac24661 100644 --- a/docs/docs/runCode.js +++ b/docs/docs/runCode.js @@ -12,10 +12,16 @@ window.runCode = function(hook) { codeElement.tagName === 'PRE' && codeElement.dataset.lang === 'js' ) { - var code = window.encodeURIComponent(codeElement.innerText); - window.open( - 'https://artplayer.org/lab/?code=' + code - ); + var libs = item.href.split('/lib=')[1]; + var code = encodeURIComponent(codeElement.innerText); + var url = 'https://artplayer.org/lab/?'; + if (libs) { + url += 'libs=' + libs + '&'; + } + if (code) { + url += 'code=' + code; + } + window.open(url); } }); }); diff --git a/docs/lab/css/common.css b/docs/lab/css/common.css index 23b4c216a..482a6822d 100644 --- a/docs/lab/css/common.css +++ b/docs/lab/css/common.css @@ -31,13 +31,13 @@ html, body { box-sizing: border-box; } -.part-left .header .left { +.part-left .header .links { display: flex; align-items: center; flex: 1; } -.part-left .header .left .logo { +.part-left .header .links a { padding-right: 30px; } diff --git a/docs/lab/dash.html b/docs/lab/dash.html deleted file mode 100644 index 07769d566..000000000 --- a/docs/lab/dash.html +++ /dev/null @@ -1,60 +0,0 @@ - - - -
-