Управление плеером
Для управления плеером используется объект со следующими свойствами и методами:
Свойства
-
Events: PlayerApi.Events
Методы
-
on(type: PlayerApi.Events, listener: Function): this
Подписаться на событие плеера. См. события плеера.
-
once(type: PlayerApi.Events, listener: Function): this
Подписаться на событие плеера. Обработчик события будет вызван только один раз.
-
off(type: PlayerApi.Events, listener: Function): this
Отписаться от события плеера.
-
Проигрывание приостановлено?
-
Проигрывание дошло до конца?
-
Начать проигрывание.
-
Приостановить проигрывание.
-
getCurrentTime(): Promise<number>
Текущее время воспроизведения (в секундах).
-
getDuration(): Promise<number>
Продолжительность ролика (в секундах).
-
setPlaylistItemOptions(options: PlaylistItemOptions): Promise<void>
Установить параметры для текущего ролика.
interface PlaylistItemOptions { /** @experimental Закладки, привязанные ко времени. */ bookmarks?: { id: string; /** Время в секундах. */ time: number; /** Динамические стили с поддержкой селекторов. */ sx?: CSSProperties; }[]; }
Например:
player.setPlaylistItemOptions({ bookmarks: [ { id: '1', time: 10, sx: { backgroundColor: 'yellow', '&::before': { content: '"12"', fontSize: '0.85em' } }, }, ], });
-
setUIDisabled(disabled: boolean): Promise<void>
Disable/enable the player UI and shortcuts.
@experimental
-
setOptions(options: UpdatablePlayerOptions): Promise<void>
Установить параметры для плеера.
@experimental
interface UpdatablePlayerOptions { /** @experimental Настройки темы. */ theme?: { bookmarks?: { button?: { /** Для кнопки в целом. */ root?: React.CSSProperties; /** Для кнопки с css селектором :hover. */ hover?: React.CSSProperties; /** Для кнопки с css селектором :active. */ active?: React.CSSProperties; }; /** Установить `undefined` для удаления значка. */ icon?: undefined; }; }; }
Например:
player.setOptions({ theme: { bookmarks: { button: { root: { backgroundColor: 'yellow' }, }, icon: undefined, }, }, });
События плеера
В каждый обработчик события передается объект события с данными о нем.
Объект события
{
/** Тип события */
type: PlayerApi.Events;
/** Данные события, зависят от типа события, могут отсутствовать */
data: Data;
/** Объект управления плеером, соответствующий событию */
target: PlayerApi;
}
Перечисление событий
-
PlayerApi.Events.Ready
- Плеер загрузил все необходимые данные и готов к воспроизведению. При выключенной предзагрузке (preload=‘none’) это событие сработает при начале воспроизведения.{ currentTime: number; duration: number; }
-
PlayerApi.Events.CurrentTrackChanged
- Смена текущего трека.@experimental
{ item: { id?: string } }
-
PlayerApi.Events.SizeChanged
- Размер плеера изменился.@experimental
{ width: number; height: number; }
-
PlayerApi.Events.Play
- Запуск воспроизведения.У события нет данных.
-
PlayerApi.Events.Pause
- Пауза.У события нет данных.
-
PlayerApi.Events.Ended
- Окончание воспроизведения.У события нет данных.
-
PlayerApi.Events.TimeUpdate
- Изменение текущего времени воспроизведения.{ currentTime: number; }
-
PlayerApi.Events.FullscreenChange
- Изменение полноэкранного режима.{ isFullscreen: boolean; }
-
PlayerApi.Events.CallBookmark
- Нажатие на закладку.@experimental
{ id: string; time: number; }
-
PlayerApi.Events.AdBreakStateChange
- Изменилось активность рекламной паузы.@experimental
{ active: boolean; }