MediaSession.setActionHandler() - Web API 接口参考 编辑

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

MediaSession 接口的属性 setActionHandler() 为media session动作设置一个监听器。这些动作让网页程序在用户操作设备的内置物理或屏上媒体控制项时收到消息,例如播放、停止或搜寻按钮。

语法

navigator.mediaSession.setActionHandler(type, callback)

参数

type
一个提供要监听的动作类型的 DOMString 。它可以是 playpauseseekbackwardseekforwardprevioustrack 或 nexttrack
callback
一个在指定动作被调用时要调用的方法。回调方法不会收到参数,并且不应该返回值。

返回值

undefined

使用说明

要移除一个已经存在的监听器,再调用一次 setActionHandler() ,将 null 作为回调方法。

示例

下面的示例创建一个新的media session并且为它添加监听器(不做任何事情)。

if ('mediaSession' in navigator){
  navigator.mediaSession.metadata = new MediaMetadata({
    title: "播客音乐名字",
    artist: "播客主持人",
    album: "播客名字",
    artwork: [{src: "podcast.jpg"}]
  });
  navigator.mediaSession.setActionHandler('play', function() {});
  navigator.mediaSession.setActionHandler('pause', function() {});
  navigator.mediaSession.setActionHandler('seekbackward', function() {});
  navigator.mediaSession.setActionHandler('seekforward', function() {});
  navigator.mediaSession.setActionHandler('previoustrack', function() {});
  navigator.mediaSession.setActionHandler('nexttrack', function() {});
}

这个示例使用了适当的监听器来允许在不同的方向搜寻正在播放的媒体。

let skipTime = 10; // 要跳过的秒数

navigator.mediaSession.setActionHandler('seekbackward', evt => {
  // 用户点击了“向后搜寻”的媒体按钮
  audio.currentTime = Math.max(audio.currentTime - skipTime, 0);
});

navigator.mediaSession.setActionHandler('seekforward', evt => {
  // 用户点击了“向前搜寻”的媒体按钮
  audio.currentTime = Math.min(audio.currentTime + skipTime,
                               audio.duration);
});

要移除一个监听器,将它设为null。

navigator.mediaSession.setActionHandler('nexttrack', null);

技术指标

技术指标状态注释
Media Session Standard
MediaSession.setActionHandler()
Draft初始定义。

浏览器兼容性

BCD tables only load in the browser

在这个页面上的兼容性表格是从结构数据生成的。如果你想要贡献数据,看看 https://github.com/mdn/browser-compat-data 并且向我们发起一个Pull Request

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:81 次

字数:4601

最后编辑:7 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文