[英]How to get rid of “media playing” notification shown by Chrome on Android?
我的HTML5游戲有一些背景音樂,在“html5”模式下使用Howler.js,這顯然會觸發Chrome for Android的媒體播放通知 。 這意味着當用戶在任何標簽中打開我的游戲時會出現通知:
游戲是一個好公民,並且當標簽不在焦點時暫停音樂,因此不需要此通知。 它甚至會讓人感到困惑,因為用戶可以在不進入游戲的情況下暫停和恢復游戲的背景音樂。 但我找不到擺脫通知的方法。
我嘗試在音樂對象上調用stop()
而不是pause()
或mute()
,但這並不會刪除通知。
MediaSession
更深一點,我發現了實驗性的MediaSession
API ( W3C草案 ),據說可以用來控制通知。 但是,如果我理解正確,它無法完全禁用它!
我在申請開始時嘗試了這個:
if (typeof navigator.mediaSession == 'object') {
navigator.mediaSession.playbackState = 'none'
}
但是,這僅設置聲明的播放狀態 (在規范術語中)。 將其設置為'none'
無效:
實際播放狀態按以下方式計算:
- 如果聲明的播放狀態為“正在播放”,則返回“播放”。
- 否則,返回猜測的播放狀態 。
而猜測的播放狀態是我無法控制的; 它是由瀏覽器根據頁面上<audio>
元素的狀態派生的。
我是否有可能忽視,或者這只是對當前MediaSession規范的疏忽?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.