[whatwg] audio and video: volume and muted as content attributes?

On Mon, 31 May 2010 19:33:45 +0800, Silvia Pfeiffer  
<silviapfeiffer1 at gmail.com> wrote:

> Hi,
>
> I just came across a curious situation in the spec: IIUC, it seems the
> @volume and @muted attributes are only IDL attributes and not content
> attributes. This means that an author who is creating an audio-visual
> Webpage has to use JavaScript to turn down (or up) the loudness of
> their media elements or mute them rather than just being able to
> specify this through content attributes.
>
> I've searched the archives and didn't find a discussion or reasons for
> this. Apologies if this has been discussed before.
>
> I am guessing the reasons for not having them as content attributes is
> that anything that requires muting of audio-visual content is assumed
> to need JavaScript anyway.
>
> However, if I have multiple videos on a page, all on autoplay, it
> would be nice to turn off the sound of all of them without JavaScript.
> With all the new CSS3 functionality, I can, for example, build a
> spinning cube of video elements that are on autoplay or a marquee of
> videos on autoplay - all of which would require muting the videos to
> be bearable. If we added @muted to the content attributes, it would be
> easy to set the muted state without having to write any JavaScript.
>
> As for the @volume attribute, I think it would be similarly useful if
> an author could control the loudness at which a video or audio file
> starts playing back, in particular if he/she knows it is actually a
> fairly loud/quiet file.
>
> I'm curious about other people's opinions.
>
> Cheers,
> Silvia.
>

I think both volume and muted could have some use as content attributes,  
so the question is only if the additional complexity for implementations  
and authors. muted is a boolean attribute and would be trivial to support.  
volume, however, is a float and last I checked Opera doesn't reflect [1]  
any other float properties. I wouldn't be surprised if it would be a first  
for some other browsers too. Reflecting floats is a little bit annoying (I  
tried when the spec had an aspect attribute for video) because of having  
to decide an arbitrary precision to which to round. That absence of volume  
should imply 1.0 (and not 0.0 or NaN) could also be a little bit of a  
nuisance.

So, I am neither in favor or against of reflecting volume and mute as  
content attributes. Implementation is quite simple, but doesn't come for  
free unless browsers are already reflecting other float properties.

[1]  
http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#reflect

-- 
Philip J?genstedt
Core Developer
Opera Software

Received on Monday, 31 May 2010 22:53:03 UTC