videojs/video.js

Volume/Mute State Not Preserved Switching Between HTML5 and Flash Techs

Open

#2066 opened on Apr 23, 2015

View on GitHub
 (2 comments) (0 reactions) (0 assignees)JavaScript (39,742 stars) (7,502 forks)batch import
confirmedgood first issuepinnedunclaimed

Description

I see 2 problems with volume/mute handling in videojs:

  1. Html5 and Flash tech are inconsistent handling volume and muted. Html5 maintains 2 separate variables to hold the value for volume() and muted(). Flash on the other hand sets volume = 0 when muted(true) is called. My guess is Html5 is the proper implementation desired.
  2. The state stored for volume() and muted() are delegated to the Tech. Switching between Techs causes volume and muted states to be lost between the time unloadTech and loadTech is called. A simple hack is to add a couple lines inside loadTech to save the state of muted and volume and then reapply those states inside the techReady function. Going forward, I feel the Player core should hold these states.

I'm working off a modified version of v4.12.5

Contributor guide