MediaSession。setPositionState()不显示音频时间,也不显示seekbar。
const audio= document.querySelector('audio');
function updatePositionState() {
if ('setPositionState' in navigator.mediaSession) {
navigator.mediaSession.setPositionState({
duration: audio.duration,
playbackRate: audio.playbackRate,
position: audio.currentTime,
});
}
}
await audio.play();
updatePositionState();
navigator.mediaSession.setActionHandler('seekto', (details) => {
updatePositionState();
});
1条答案
按热度按时间mwg9r5ms1#
我也遇到了同样的事情。
然后我做了一些清理工作,并决定现在不需要以下内容:
一旦我评论了这一点,搜索栏现在在我的移动终端上可见。在桌面上,它仍然看不见。我怀疑也许MediaSession API的工作方式是如果你有向前和向后跳的按钮,那么seekTo就被禁用了。
现在,seekTo栏是可见的并且可以被触发,但它是不正确的。当一条赛道开始时,它已经通过了四分之一的路程。
我似乎找不到一种方法来设置流上的MedaSession API中的轨道的运行时间。
我在什么地方读到过,在流上甚至不可能有一个搜索栏。🤷♀️