繰り返しますが、私のオーディオプレーヤーに取り組んでいます...

私は自分のコードでメディアセッションアップデーターを再発見しました。これは私の音楽のコントロールを備えたブラウザーからの小さな通知を追加します。以前は問題なく動作していましたが、今は...

何もない。少しいじって、再生/一時停止ボタン、次/前の曲とシークボタン、音楽のタイトルとアーティストを機能させました。しかし、再生ボタン、次へ/前へのボタン、または場合によっては一時停止ボタンを押すと、オプションと曲の詳細が消え、再生/一時停止ボタンだけが残り、完全に機能することがわかりました...

さて、コードに。プレーヤーに曲をロードする関数(loadSong(songIndex))があり、最後に、ナビゲーターのメタデータをリセットする数行のコードがあります。

navigator.mediaSession.metadata.title = song.songname;
navigator.mediaSession.metadata.author = song.artistname;
navigator.mediaSession.metadata.artwork = ("./Music/" + song.thumbnail);

アーティストと名前は完璧に機能しますが、サムネイルは機能しません...詳細については別の質問をご覧ください。

私はこのように実際のコントロールを設定しました:

/*media controls*/
let index = 0;
let skipTime = 10;

const actionHandlers = [
  ['play',          () => { main.playPauseControl.click(); navigator.mediaSession.playbackState = "playing"; updatePositionState();}],
  ['pause',         () => { main.playPauseControl.click(); navigator.mediaSession.playbackState = "paused"; updatePositionState();}],
  ['previoustrack', () => { main.prevControl.click(); updatePositionState();}],
  ['nexttrack',     () => { main.nextControl.click(); updatePositionState();}],
  ['seekbackward',  (details) => { main.audio.currentTime = Math.max(main.audio.currentTime - skipTime, 0); updatePositionState();}],
  ['seekforward',   (details) => { main.audio.currentTime = Math.min(main.audio.currentTime + skipTime, main.audio.duration); updatePositionState();}],
];

for (const [action, handler] of actionHandlers) {
  try {
    navigator.mediaSession.setActionHandler(action, handler);
  } catch (error) {
    console.log(`The media session action "${action}" is not supported yet.`);
  }
}

ナビゲーターの外部でインタラクションを登録するために、mediaSessionにリンクされている他のものがいくつかあります

main.audio.addEventListener('play', function() {
  navigator.mediaSession.playbackState = 'playing';
  main.playPauseControl.classList.remove("paused");
});

main.audio.addEventListener('pause', function() {
  navigator.mediaSession.playbackState = 'paused';
  main.playPauseControl.classList.add("paused");
});

これで最初はすべて機能しますが、ナビゲーターのBOOMを操作すると、すべてが消えます。誰かが何が起こっているのか教えてもらえますか...これはしばらくの間私を悩ませてきました...

PS長い質問でごめんなさい。

答えが見つかりません