- From: Francois Daoust <fd@w3.org>
- Date: Mon, 30 Jun 2014 12:30:28 +0200
- To: "Kostiainen, Anssi" <anssi.kostiainen@intel.com>, "public-webscreens@w3.org" <public-webscreens@w3.org>
Hi Anssi,
Great demo! One question, see inline.
On 2014-06-17 15:48, Kostiainen, Anssi wrote:
> Hi All,
>
> In the spirit of experimentation I wrote a Presentation API prollyfill (= a polyfill for a not yet standardized API) for the HTMLMediaElement to get a feel of the API ergonomics.
>
> The demo is at (tested with the latest desktop Chrome, Firefox, Safari):
>
> http://webscreens.github.io/requestshowmedia/demo/
>
> The video files used in the demo are hosted on GitHub pages too, so don’t expect blazingly fast download speeds. If the demo misbehaves, try a more modern browser :-)
>
> For more information, please consult the GitHub repo at:
>
> https://github.com/webscreens/requestshowmedia
>
> Here’s what this is about:
>
> Using the requestShowMedia.js prollyfill you can display any <video> contained on a web page on a second screen and control its playback using the standard HTMLMediaElement methods play(), pause(), and fastSeek(time).
>
> The demo works in modern browsers by emulating a second screen using a new window. If an experimental Chromium build is used (see the demo page or the GH repo for details on how to get one) the video is displayed on a real second screen.
>
> In terms of code, this is how a web developer might use the API:
>
> <script>
> var v = document.querySelector('video');
>
> // Display the video on a second screen.
> v.requestShow();
>
> // Use the standard HTMLMediaElement methods to control the playback.
> v.play();
> v.pause();
> v.fastSeek(time);
> </script>
With that proposal, adding support for second screen video playback is
really just a matter of adding a UI "project" button and binding it to a
call to "requestShow". That's 3 additional lines of code without having
to touch the rest. Nice!
In the demo code [1], is there a reason for "requestShow" to return a
pointer to the second screen (or a Promise to get that second screen)?
The only need seems to be to close the show, but that could e.g. be
handled with a call to an hypothetical "v.exitShow" function, which
would avoid introducing another construct, and be somewhat consistent
with the approach taken by the FullScreen API.
Francois.
[1]
https://github.com/webscreens/requestshowmedia/blob/gh-pages/demo/index.html#L40
Received on Monday, 30 June 2014 10:31:00 UTC