Skip to main content

Documentation Index

Fetch the complete documentation index at: https://bym.lonestill.uk/llms.txt

Use this file to discover all available pages before exploring further.

Методы

api.Events.on(event, handler)
api.Events.off(event, handler)

События

СобытиеАргумент handlerКогда
playТрек начал играть
pauseПауза
endedТрек закончился
trackChangetrack: Track | nullСменился трек
speedChangespeed: numberСкорость изменилась
volumeChangevolume: number (0–1)Громкость изменилась
seekedposition: number (сек)Перемотка
Тип Track: { title, artist, album, artwork }
api.Events.on не снимается автоматически при stop(). Снимай вручную через api.Events.off.

Как работает trackChange

BYM полингует navigator.mediaSession.metadata раз в 500мс. При смене title + artist — эмиттит trackChange. Задержка до 500мс — норма.

Пример

BYM.register({ id: 'event-demo' }, (api) => {
  function onTrack(track) {
    api.Logger.log('Трек:', track?.title ?? 'нет трека');
  }
  function onVolume(vol) {
    api.Logger.log('Громкость:', Math.round(vol * 100) + '%');
  }

  return {
    start() {
      api.Events.on('trackChange',  onTrack);
      api.Events.on('volumeChange', onVolume);
    },
    stop() {
      api.Events.off('trackChange',  onTrack);
      api.Events.off('volumeChange', onVolume);
    },
  };
});