xinglie.github.io icon indicating copy to clipboard operation
xinglie.github.io copied to clipboard

通过mediaSession控制音乐播放

Open xinglie opened this issue 6 years ago • 1 comments

现在越来越多的应用web化,比如在线听歌。有时候听到不喜欢的歌曲,还要切到相应的web页面上切换掉,那么有没有什么办法可以不切换页面,通过键盘或其它方式换歌么?

Chrome现在支持mediaSession对象,可以查询API https://developer.mozilla.org/en-US/docs/Web/API/Media_Session_API

主要是以下代码的运用

navigator.mediaSession.setActionHandler('play', function() { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('pause', function() { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('seekbackward', function() { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('seekforward', function() { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('previoustrack', function() { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('nexttrack', function() { /* Code excerpted. */ });

通过setActionHandler可以监听上一首(previoustrack),下一首(nexttrack)等事件,然后在回调中切换即可。

这样,可以直接用键盘控制web中播放的音乐,而不必激活相应的web页面

xinglie avatar Sep 18 '19 02:09 xinglie

我的blog https://xinglie.github.io 中音乐播放器就使用了该api

xinglie avatar Sep 18 '19 02:09 xinglie