Comments (8)
IIRC it could also receive media keys events (e.g. for AudioContext) and have metadata set on it.
from mediasession.
It doesn't do much beyond the content attribute at this point. Beyond what Anton points out, it will also allow us to group multiple media elements in a single media session to do playlists that don't lose audio focus and key events in between tracks.
We're also undecided about how to deal with the Web Audio API. One option is to connect AudioContext
directly to MediaSession
just like HTMLMediaElement
. Even if that doesn't happen, I think making the session concept explicit is the right way to go.
from mediasession.
It seems like it should be retrieved from a separate interface though, getMediaSession(kind) or MediaSession.get(kind) instead of coming from a tearoff property of the HTMLMediaElement. It seems very weird that to get a handle on the session for a kind I need to create an element and set the kind so I can then release all the media elements in that session kind.
from mediasession.
I think simply allowing new MediaSession(kind)
would work.
from mediasession.
I agree we should expose a MediaSession
constructor and make the proposed session
attribute on HTMLMediaElement
settable.
That is to say, I think it should work like MediaController
, <audio> and <video> mediagroup
content attributes and the HTMLMediaElement.controller
attribute: allow web developers to bind a media session to an <audio> or <video> element declaratively through HTMLMediaSession.kind
and also allow developers to create new MediaSession
objects and assign them to HTMLMediaElement.session
programmatically too.
from mediasession.
Just to clarify the following:
It seems very weird that to get a handle on the session for a kind I need to create an element and set the kind so I can then release all the media elements in that session kind.
Media sessions are currently scoped per-element in the spec (not grouped by media category per-tab). Releasing one media element's media session will not release any other media element's media session. The situation you cite is currently impossible to produce according to the spec.
from mediasession.
We've added a MediaSession constructor and made HTMLMediaElement.session settable in f9ec89d.
The spec also now lets you assign multiple media elements to the same media session. That wasn't possible before (except for default media sessions).
from mediasession.
So in addition to the behavior described in the OP above, MediaSession
now also allows a web developer to group multiple media elements within a single media session.
As also discussed there are future plans to expose more functionality on MediaSession
such as e.g. metadata, media key events and attributes to further tweak individual media session characteristics.
Let's close this issue given the desire to expose media session as a concept to web developers, the additions we have made since this issue was opened, and the proposals suggested to introduce future media session-related features on this interface.
from mediasession.
Related Issues (20)
- Top issues for TPAC 2023 HOT 2
- Add WPT mediasession permission policy tests HOT 1
- Should the default mediasession permission policy value be self instead of * HOT 4
- MediaPositionState IDL does not allow infinite duration HOT 1
- How should Media Session work with "inert" media? HOT 6
- Should there be a toggle screenshare action? HOT 5
- What is the relationship between toggle microphone/camera actions and MediaStreamTrack mute/unmute events? HOT 11
- setPositionState: Explicit means to "clear" or reset. HOT 5
- Introduce a MediaSession task source HOT 1
- Support multiple devices to support Video Conferencing use cases HOT 20
- Should toggle capture actions expose the new capture state?
- Details dictionary parameters description could be more precise HOT 1
- #320 broke IDL: MediaSessionActionHandler can only use the base MediaSessionActionDetails but not any extensions
- Broken references in Media Session
- Replace uses of "browsing contexts" with "navigables"?
- [SameObject] should not be used in FrozenArray attributes HOT 5
- Using MediaSession without playing audio? HOT 2
- MediaSessionActionHandler callback's type is never correctly chosen HOT 2
- The update capture state algorithm needs refinement HOT 2
- The spec should state that capture related actions should generally have a source target
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mediasession.