Comments (7)
Some combinations don't make sense, do they? E.g. { transient: false, mixable: true }
from mediasession.
There's a certain simplicity in having a kind
of media session.
As a web dev, I would much prefer to do new MediaSession('content')
(or potentially even new MediaSession('music')
) than new MediaSession({transient: false, mixable: false, pauseInBackground: false})
.
These bools/enums also don't capture other behaviors like whether you want media key access or want to show interfaces in the notification or lock screen.
There is probably a compromise in here, where var session = new MediaSession('content')
actually lists readonly properties of the media session as per your proposal (e.g. session.mixable === false
, session.pauseInBackground === false
, session.hasRemoteControls === true
, etc).
from mediasession.
For the combinations that don't make sense, we could throw an exception or (preferably) just coerce it into a state that does make sense, so new MediaSession({transient: false, mixable: true})
would give a session where both transient and mixable are false.
from mediasession.
For some context, my concern here is that we'll have to double the number of kinds if a new aspect of media sessions are added, or have a mix of kind and bools. There is already one somewhat sensible thing we cannot express, namely a non-transient session that interrupts other playback, like content, but which also automatically pauses and resumes when it goes into the background, like ambient.
from mediasession.
Fwiw, foolip's last use case is present and called SoloAmbient on iOS.
from mediasession.
There is already one somewhat sensible thing we cannot express, namely a non-transient session that interrupts other playback, like content, but which also automatically pauses and resumes when it goes into the background, like ambient.
Something like ambient-solo
?
Fwiw, foolip's last use case is present and called SoloAmbient on iOS.
But it is not called {transient: false, mixable: false: pauseInBackground: true}
.
from mediasession.
Since we have not been able to actually come up with something better here, I'm going to close this.
@domenic, I know you supported this idea, so if you have some ideas for improvement please just suggest it and we'll try it out.
from mediasession.
Related Issues (20)
- Extend MediaMetadata to capture video chapter information
- Should we add slide presentation specific actions? HOT 14
- Should it be possible for web pages to trigger actions on another page? HOT 3
- Should we add a common repository for MediaSession actions and WebRTC capture handle actions? HOT 2
- Status of AudioFocus API HOT 4
- Definition of active media session and the togglemicrophone, togglecamera, hangup actions HOT 7
- Privacy issue: is it a good idea to let webapps lie about camera/mic ON/OFF on a user's lock screen? HOT 4
- MediaSession API on Edge in showing ANY buttons when entering picture-in-picture HOT 2
- Update explainer with video conferencing actions HOT 1
- Dedicated video conference session API? HOT 2
- Add takephoto action to spec
- The active media session might not be the only one being notified of actions
- MediaSession as a user-constructible object don't work. HOT 1
- Media Session doesn't show artwork on iOS 16.1.1 HOT 3
- mediaSession.setActionHandler not working properly with more than one video element on Chrome HOT 2
- Show album art (song cover) using media session api with jsmediatags api.
- Make PiP mediaSession Mic and Camera icons always visible HOT 1
- EnterPictureInPicture MediaSessionAction HOT 1
- Notification buttons on the lock screen HOT 2
- Top issues for TPAC 2023 HOT 2
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.