# User's Guide: VidPly Player A practical guide for web developers on how to integrate VidPly into your websites. --- ## Quick Overview VidPly is a universal, accessible media player supporting: | Feature | Support | |---------|---------| | **Video** | MP4, WebM, OGG | | **Audio** | MP3, OGG, WAV | | **YouTube** | Embedded with unified controls | | **Vimeo** | Embedded with unified controls | | **SoundCloud** | Embedded via Widget API with unified controls | | **HLS** | Adaptive bitrate streaming (`hls.js` on most browsers, native on iOS / iPadOS) | | **DASH** | MPEG-DASH streaming via dash.js | | **Buffering Spinner** | Centered loading spinner during waiting/seeking | | **Download Button** | Optional control with custom URL support | | **Playlists** | Audio, video & mixed media with thumbnails | | **Accessibility** | WCAG 2.2 AA compliant | | **TypeScript** | Strict TS sources + bundled `.d.ts` declarations | | **Languages** | EN, ES, FR, DE, JA + custom | --- ## Installation ### 1. Build the Player ```bash npm install npm run build ``` This creates files in `dist/`: - `prod/vidply.esm.min.js` - ES Module (recommended) - `legacy/vidply.min.js` - IIFE for script tag (global `VidPly`) - `vidply.min.css` - Styles ### 2. Include in Your Page **ES Module (Recommended):** ```html ``` **Traditional Script Tag:** ```html ``` --- ## Basic Usage ### Video Player ```html ``` The `data-vidply` attribute auto-initializes the player. ### Audio Player ```html ``` ### With Poster Image ```html ``` --- ## External Services ### YouTube ```html ``` Or with full URL: ```html ``` ### Vimeo ```html ``` ### SoundCloud ```html ``` The SoundCloud Widget API is auto-detected for any URL containing `soundcloud.com`. The widget is loaded on demand and integrates with the standard VidPly play / pause / seek / volume controls. When using `mpc-vidply` in TYPO3, the **Privacy Layer** displays a GDPR consent overlay before the SoundCloud iframe is loaded — visitors must accept loading external content first. ### HLS Streaming ```html ``` `hls.js` **1.6.16** is loaded on demand when `.m3u8` URLs are detected (CDN fallback if not already on the page). Behavior per platform: | Platform | HLS engine | Captions / Transcript / Quality | |----------|------------|---------------------------------| | Chrome / Firefox / Edge | `hls.js` | Full VidPly UI | | Desktop macOS Safari | `hls.js` (for parity with other browsers) | Full VidPly UI | | iOS / iPadOS Safari | Native `