ZWPlayer v3.3.1 Released: VR Panoramic Video, Audio Track Switching, and TTS Dubbing
Hello from the ZWPlayer team.
Following last month’s v3.3.0, which introduced interactive video annotation, anti-recording watermarks, and multi-track subtitle translation, today we are releasing ZWPlayer v3.3.1! 🎉
The core keywords of this release: hear it all, see it all, cleaner UI.
Audio tracks make content “hearable” — video speaking many languages; VR panorama makes the picture “seeable in full” — a 360° world to explore freely; the control bar went on a diet — a cleaner interface.
This update revolves around three major directions: audio tracks with TTS dubbing, VR panoramic playback, and a streamlined control bar. Let’s dive in.
💡 Get the Latest Version: In addition to the download links at the bottom, you can obtain the latest build artifacts from our release repositories:
- GitHub: zwplayer-release/releases
- Gitee: zwplayer-release/releases
1. Audio Track Switching + TTS Dubbing
First up, a feature many have been waiting for — multi-track audio support.
ZWPlayer can now load and dynamically switch between multiple audio tracks. Typical scenarios include:
- Multi-language media: attach Chinese, English, and Japanese tracks to video and let viewers switch freely
- Accessibility playback: attach an audio-description track for visually impaired audiences
- Director’s cut: offer a director/creator commentary track alongside the original audio
How It Works
- Attach dubbing tracks via the
audioTracksconfig; they share the same CC entry as subtitles — the dubbing panel sits right next to the subtitle panel, with identical interaction patterns - The panel always lists Original (the video’s built-in track) first, followed by each language dub, with the active track highlighted
- Switching to a dub mutes the original audio and hands over seamlessly; switching back restores it
- Supports mp3 / m4a / aac / ogg / wav and other browser-native audio formats
new ZWPlayer({
playerElm: 'player',
url: 'video.mp4',
audioTracks: [
{ url: 'dub_ja.m4a', language: 'ja', label: 'Japanese Dub', default: true },
{ url: 'dub_zh.m4a', language: 'zh', label: 'Chinese Dub' }
]
});
Strict Audio-Video Sync
Switching tracks doesn’t mean “each plays its own way” — external audio stays strictly synchronized with the video:
- Progress sync: seeking or jumping anywhere re-aligns the dub to the video’s current time
- Rate sync: adjusting playback speed changes the dub speed accordingly
- Unified volume: the dub and original share the global volume and mute controls — the volume slider always applies to the active track
TTS Subtitle-to-Speech: No Studio Re-recording Required
Even more noteworthy is TTS subtitle-to-speech: the player can synthesize existing subtitle text into speech and play it as an independent audio track.
Imagine: you have a tutorial video with English subtitles. Now you can turn those subtitles directly into spoken narration — automatic “text-to-voice” dubbing, without re-recording by a human. For multilingual content going global and accessibility scenarios, this is an extremely practical capability.
- AI-synthesized dubs carry an AI badge in the track panel, consistent with the translated-subtitle badge system
- AI dubs support one-click download (m4a), ready for offline distribution
- Multiple dubs can be described in batch via a ZWMAP audio track manifest, distributed independently of the video
2. VR / 360° Panoramic Video Playback
ZWPlayer now officially supports VR panoramic video.
If your video was shot in 360° (panoramic cameras, VR live streams, etc.), the player can auto-detect it and activate an immersive 360° browsing mode:
- Mouse drag or touch gestures to rotate the view freely
- Arrow keys for precise view control
- Built-in view settings panel for real-time adjustment of Yaw, Pitch, and FOV (field of view, 30°–100°)
- Panoramic videos with a 2:1 aspect ratio are auto-detected and activated in VR mode; manual activation is also supported
Once you’ve tuned the view to your liking, copy the current view config with click and paste it straight into the player’s initialization parameters — showroom displays and promo pages can reproduce your tuned initial view exactly. Exhibition-friendly options like yawOnly (lock pitch, horizontal-only rotation) and autoRotate (slow rotation when idle) are also available.
new ZWPlayer({
playerElm: 'player',
url: 'panorama.mp4',
vr: 'auto' // auto-detect by 2:1 aspect ratio; true to force
});
🌍 Use cases: VR real-estate tours, virtual scenic-area visits, panoramic sports/concert replay, industrial inspection records, immersive training.
No plugins or headsets required — the full 360° interaction works in desktop and mobile browsers.
3. Streamlined Control Bar
If you looked closely at the previous version’s control bar, you may have noticed a green “VOD” badge in the lower-left corner. This time we subtracted:
- No more VOD badge for on-demand: on-demand is the norm, and the norm doesn’t need a label. The status indicator appears for live streams
- Speed display refined: the old English “Rate” label is replaced with the more intuitive “1x” “1.5x” “2x” — the current playback speed at a glance
- Layout restructured: unified icon style and spacing for a cleaner-looking bar
We also fixed several known issues, further improving stability and compatibility.
Small changes, but the kind that make daily use more comfortable.
4. Configuration Overview
| Property | Description |
|---|---|
vr |
VR/360° panoramic playback config. Pass true to force-enable, 'auto' to detect by aspect ratio, or a config object to customize initial view and interaction (yaw, pitch, fov, mode, etc.) |
audioTracks |
External audio/dubbing track list array [{ url, language, label, default }], supporting multi-track sync playback and dynamic switching, plus TTS subtitle-to-speech |
Upgrade
As always, just replace the zwplayer.js file — fully backward compatible. The new features (VR, audio tracks) are off by default and won’t affect existing deployments.
- 📥 Download v3.3.1: https://cdn.zwplayer.com/v3.3.1/zwplayer.zip
- 📺 Online demo: https://www.zwplayer.com/tools/videoplayer/
- 📚 Documentation: https://www.zwplayer.com/docs/support.html
- 🔌 WordPress plugin: zw-player-video-embed
Closing Thoughts
From v3.3.0’s annotation, watermarks, subtitle translation, and playlists, to v3.3.1’s audio track switching, TTS dubbing, and VR panorama — ZWPlayer is steadily evolving from a “video player” into a complete video interaction and content management solution.
And all of it still ships as a single JS file.
If you have any feedback or suggestions, feel free to reach out via GitHub Issues or our community channels.