Comments (6)
Yeah, this is really nice. One problem we need to solve if we have an API for this is that it should be possible to suggest to the platform an interval to skip, but I'm not sure we should assume that all platforms will support any interval (e.g. it might not be possible to generate the graphics for >99 seconds due to space constraints) so the seek command would also need to have the actual interval to skip. It could also be that some platform has gestures that always mean "skip 10 seconds" but that's more hypothetical.
from mediasession.
Agree. Just a time hint would be nice.
from mediasession.
FWIW, we added MediaRemoteControls
to the spec today: https://mediasession.spec.whatwg.org/#the-mediaremotecontrols-interface. That gives us a good foundation to explore questions like these.
For example, I think we could enforce skip interval and its behavior directly against media elements in this model. Something like the following could work:
session.controls.skipForwardEnabled = true;
session.controls.skipForwardInterval = 30; // in seconds (min 1, max 99, default: OS-defined)
When the 'skip forward' button is pressed it could directly set mediaElement.currentTime += 30
(where mediaElement
is the active media session's active participating media element).
I'm not married to the idea. Just brainstorming :)
from mediasession.
Yeah, if the seek fires an event and it isn't preventDefault()
ed, just seeking on the media elements would be reasonable thing to do. I guess it's really only when we get into Web Audio that we'll have to allow handling the seeking in script, though.
from mediasession.
I'm fine with having a seek-by hint so long as the spec is fine with that hint being completely ignored.
from mediasession.
I think the current spec solves this. You have next track
and skip forward
. The latter can easily have a default implementation if needed but websites should likely implement their own.
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.