diff --git a/CHANGELOG.md b/CHANGELOG.md index 71d34ae0..cd45e814 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ * adds option to hide unreadable files * adds option where to place folders (top, inplace, bottom) * adds markdown support for custom header and footer files +* adds video and audio preview via HTML5 elements (no fallback, works best in Chrome) * removes server side file manipulation extensions `dropbox`, `delete` and `rename` * fixes QR code URI origin (issue [#287](https://github.com/lrsjng/h5ai/issues/287)) * improves preview GUI diff --git a/src/_h5ai/client/css/inc/preview-aud.less b/src/_h5ai/client/css/inc/preview-aud.less new file mode 100644 index 00000000..223c2c62 --- /dev/null +++ b/src/_h5ai/client/css/inc/preview-aud.less @@ -0,0 +1,9 @@ + +#pv-aud-audio { + position: absolute; + + max-width: 100%; + max-height: 100%; + + box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.3); +} diff --git a/src/_h5ai/client/css/styles.less b/src/_h5ai/client/css/styles.less index b2fba482..73113a4b 100644 --- a/src/_h5ai/client/css/styles.less +++ b/src/_h5ai/client/css/styles.less @@ -12,8 +12,10 @@ @import "inc/tree"; @import "inc/qrcode"; @import "inc/preview"; +@import "inc/preview-aud"; @import "inc/preview-img"; @import "inc/preview-txt"; +@import "inc/preview-vid"; @import "inc/notify"; @import "inc/content"; diff --git a/src/_h5ai/client/js/inc/ext/preview-aud.js b/src/_h5ai/client/js/inc/ext/preview-aud.js new file mode 100644 index 00000000..c1a7ab57 --- /dev/null +++ b/src/_h5ai/client/js/inc/ext/preview-aud.js @@ -0,0 +1,122 @@ + +modulejs.define('ext/preview-audio', ['_', '$', 'moment', 'core/settings', 'core/event', 'ext/preview'], function (_, $, moment, allsettings, event, preview) { + + var settings = _.extend({ + enabled: false, + types: [] + }, allsettings['preview-aud']), + + preloadAudio = function (src, callback) { + + var $audio = $('