Dash.js binder for an OMAP client. Use this binder if you want a UI overlay to display the ads' information.

const player = dashjs.MediaPlayer().create();
const adDisplayContainer = document.getElementById('ad-display-container') as HTMLDivElement;
const adVideoElement = document.getElementById('ad-video') as HTMLVideoElement;
const adRemainingTime = document.createElement('');
const adSequence = document.createElement('');
const adTotal = document.createElement('');
const skipButton = document.createElement('button');
skipButton.innerText = 'Skip';
skipButton.addEventListener('click', () => {
// do something to skip the ad
});
adDisplayContainer.appendChild(skipButton);
const adTagUrl = 'https://example.com/vmap.xml';
const omapClient = new OmapIABClient(adTagUrl);
const omapBinder = new OmapDashjsUIOverlayBinder(player, adDisplayContainer, adRemainingTime, adSequence, adTotal, skipButton, adVideoElement);
omapBinder.bind(omapClient);
omapBinder.play()
.then(() => {
player.initialize(videoElement, 'https://example.com/manifest.mpd', true);
})
.catch(() => {
console.error('adBinder failed to get ready');
});

Hierarchy

  • default
    • OmapDashjsUIOverlayBinder

Constructors

  • Parameters

    • player: MediaPlayerClass

      The dash.js player.

    • adDisplayContainer: HTMLElement

      The container element for the ad UI overlay.

    • adRemainingTime: Text

      The text node to display the remaining time of the current ad.

    • adSequence: Text

      The text node to display the index of the current ad.

    • adTotal: Text

      The text node to display the total number of ads in the current ad pod.

    • skipButton: HTMLElement

      The skip button element.

    • Optional adVideoElement: HTMLVideoElement

      The ad video element.

    Returns OmapDashjsUIOverlayBinder

Properties

adBreaks: default[]
adDisplayContainer: HTMLElement
adVideoElement?: HTMLVideoElement
config: Partial<default>
dashjs: MediaPlayerClass
omapClient?: default

Accessors

  • get state(): TBinderState
  • Returns TBinderState

Methods

  • Returns void

  • Parameters

    • omapClient: default

    Returns void

  • Returns void

  • Parameters

    • type: "adPodStarted"

    Returns void

  • Parameters

    • type: "adPodEnded"

    Returns void

  • Parameters

    • type: "adStarted"
    • ad: default

    Returns void

  • Parameters

    • type: "adEnded"
    • ad: default

    Returns void

  • Parameters

    • type: "adInfoUpdated"
    • sequence: number
    • numOfAds: number
    • remainingTime: number
    • duration: number

    Returns void

  • Parameters

    • type: "adSkippableStateChanged"

    Returns void

  • Parameters

    • type: "adPodStarted"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns void

  • Parameters

    • type: "adPodEnded"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns void

  • Parameters

    • type: "adStarted"
    • listener: ((ad) => void)
        • (ad): void
        • Parameters

          • ad: default

          Returns void

    Returns void

  • Parameters

    • type: "adEnded"
    • listener: ((ad) => void)
        • (ad): void
        • Parameters

          • ad: default

          Returns void

    Returns void

  • Parameters

    • type: "adInfoUpdated"
    • listener: ((sequence, numOfAds, remainingTime, duration) => void)
        • (sequence, numOfAds, remainingTime, duration): void
        • Parameters

          • sequence: number
          • numOfAds: number
          • remainingTime: number
          • duration: number

          Returns void

    Returns void

  • Parameters

    • type: "adSkippableStateChanged"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns void

  • Parameters

    • type: "adPodStarted"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns void

  • Parameters

    • type: "adPodEnded"
    • listener: (() => void)
        • (): void
        • Returns void

    Returns void

  • Parameters

    • type: "adStarted"
    • listener: ((ad) => void)
        • (ad): void
        • Parameters

          • ad: default

          Returns void

    Returns void

  • Parameters

    • type: "adEnded"
    • listener: ((ad) => void)
        • (ad): void
        • Parameters

          • ad: default

          Returns void

    Returns void

  • Parameters

    • type: "adInfoUpdated"
    • listener: ((sequence, numOfAds, remainingTime, duration) => void)
        • (sequence, numOfAds, remainingTime, duration): void
        • Parameters

          • sequence: number
          • numOfAds: number
          • remainingTime: number
          • duration: number

          Returns void

    Returns void

  • Parameters

    • type: "adSkippableStateChanged"
    • listener: ((skippable) => void)
        • (skippable): void
        • Parameters

          • skippable: boolean

          Returns void

    Returns void

  • Parameters

    • ad: default
    • adDisplayContainer: HTMLElement

    Returns void

  • Parameters

    • adPod: default
    • adDisplayContainer: HTMLElement

    Returns void

  • Parameters

    • adPod: default
    • adDisplayContainer: HTMLElement

    Returns void

  • Parameters

    • ad: default
    • adDisplayContainer: HTMLElement
    • adCurrentTime: number
    • numOfAds: number

    Returns void

  • Parameters

    • ad: default
    • adDisplayContainer: HTMLElement
    • adCurrentTime: number
    • numOfAds: number

    Returns void

  • Parameters

    • ad: default
    • adDisplayContainer: HTMLElement

    Returns void

  • Returns void

  • Returns void

  • Returns void

  • Parameters

    • e: PlaybackTimeUpdatedEvent

    Returns void

  • Parameters

    • Optional startTime: number

    Returns Promise<void>

  • Returns void

  • Parameters

    • config: Partial<default>

    Returns void

Generated using TypeDoc