WICG / audio-focus

Other
21 stars 11 forks source link

Quesition about in-game sound kind #13

Open xxyzzzq opened 7 years ago

xxyzzzq commented 7 years ago

From @alastor0325 on December 31, 2015 3:55

https://mediasession.spec.whatwg.org/#media-session-kinds

In-game sound effects and background music.

Hi, all, I think the in-game sound is not very suit for the "ambient" type.

As "does not interact with any other "content", "transient", "transient-solo" or "ambient" content during playback".

Think about that situation, if user opens the web-game during listening content type music, then both of them would be playback. IMMO, It's not very good user experience.

Maybe can we have some new type can interact with other kinds but would be paused when its top-level browsing context is not visible?

Thanks.

Copied from original issue: WICG/mediasession#119

xxyzzzq commented 7 years ago

From @jernoble on December 31, 2015 5:53

So, "ambient-solo"?

xxyzzzq commented 7 years ago

From @alastor0325 on January 5, 2016 12:47

Hi, Jernoble, What kinds of behavior it should be? Only interact with "content" kind but other attributes are as same as previous one?


Here I want to propose a new behavior, hope you can give me some suggestions :)

Suppose it's called "ambient-solo", it can be used for web-game sound. (1) Indefinitely pauses all other active "content", "ambient-solo" content when playback begins. (2) Ducks itself when "transient", "transient-solo" content starts interrupting. Unducks itself when "transient" content is paused or ends playback. (3) Does not interact with "ambient" content during playback. (4) Does not display lock-screen and notification area user interfaces when playback begins. (5) Does not react to changes in both hardware and software-based media key buttons when playback begins. (6) Pauses itself when its top-level browsing context is not visible (i.e. the page is placed in the background or the user agent is minimized or the screen is switched off). Unpauses itself when its top-level browsing context is at least partially visible on at least one screen again (i.e. the user agent is in the foreground and the page is focused again).