从 javascript/html 播放音频时设置自定义元数据(控制中心 iOS)
Posted
技术标签:
【中文标题】从 javascript/html 播放音频时设置自定义元数据(控制中心 iOS)【英文标题】:Set custom metadata when audio is playing (Control Centrer iOS) from javascript/html 【发布时间】:2017-08-31 14:45:03 【问题描述】:当从我的 html 页面中的标签 <audio>
播放音频时,我需要更改图稿(在控制中心)。在 android 上它由 navigator.mediaSession.metadata
工作(见下面的代码),但在 ios 上它不工作。你有什么解决办法吗?
<script>
if ('mediaSession' in navigator)
navigator.mediaSession.metadata = new MediaMetadata(
title: 'Unforgettable',
artist: 'Nat King Cole',
album: 'The Ultimate Collection (Remastered)',
artwork: [
src: 'https://dummyimage.com/96x96', sizes: '96x96', type: 'image/png' ,
src: 'https://dummyimage.com/128x128', sizes: '128x128', type: 'image/png' ,
src: 'https://dummyimage.com/192x192', sizes: '192x192', type: 'image/png' ,
src: 'https://dummyimage.com/256x256', sizes: '256x256', type: 'image/png' ,
src: 'https://dummyimage.com/384x384', sizes: '384x384', type: 'image/png' ,
src: 'https://dummyimage.com/512x512', sizes: '512x512', type: 'image/png' ,
]
);
navigator.mediaSession.setActionHandler('play', function()
document.querySelector('audio').play();
);
navigator.mediaSession.setActionHandler('pause', function()
document.querySelector('audio').pause();
);
</script>
【问题讨论】:
【参考方案1】:目前 (2018.04.07) 不支持 iOS 浏览器。 Chrome for Android 是唯一支持媒体会话 API 的浏览器。 https://developer.mozilla.org/en-US/docs/Web/API/Media_Session_API
【讨论】:
以上是关于从 javascript/html 播放音频时设置自定义元数据(控制中心 iOS)的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript + HTML5:音频在某些情况下只会播放一次