这是我多年来一直在研究的问题,从来没有找到过答案。我发现了用于填充歌曲数据的MediaSession api,但是下一个音轨和以前的跟踪动作处理程序不会使下一个/前一个按钮出现在iOS控制中心。
if ('mediaSession' in navigator) {
navigator.mediaSession.metadata = new MediaMetadata({
title: '',
artist: '',
album: '',
artwork: []
});
navigator.mediaSession.setActionHandler('play', () => { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('pause', () => { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('stop', () => { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('seekbackward', () => { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('seekforward', () => { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('seekto', () => { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('previoustrack', () => { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('nexttrack', () => { /* Code excerpted. */ });
navigator.mediaSession.setActionHandler('skipad', () => { /* Code excerpted. */ });
}我发现AudioContext api听起来很有希望,因为苹果在他们的文档中提到了它,但是MediaSession元数据停止工作,下一个/先前的轨道按钮仍然没有出现。
context = new AudioContext();
audioElement = document.querySelector('audio');
const track = context.createMediaElementSource(audioElement);
track.connect(context.destination);
audioElement.play()有人有这方面的经验吗?我附上了一些显示我要完成的任务的图像,第一个图像显示了仅使用MediaSession api给我的控件(跳过前/后10秒),第二个图像显示了Spotify web应用程序能够获得的控件(前进/后退按钮)。
在我的生活中,我无法在iOS上填充下一个/先前的轨道按钮。


发布于 2022-11-01 18:33:45
这似乎是iOS和ipadOS最近发生的变化,您不能将seekbackward, seekforward和previoustrack, nexttrack放在一起。因此,您需要选择您想要的下一个和以前的跟踪操作,或者在iOS上寻找后退和前进。
https://stackoverflow.com/questions/73993512
复制相似问题