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:


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 audioTracks config; 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.


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.