bitmovin-player-ui
Version:
Bitmovin Player UI Framework
43 lines (42 loc) • 10.4 kB
HTML
<html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>replaceAdMessagePlaceholders | bitmovin-player-ui</title><meta name="description" content="Documentation for bitmovin-player-ui"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">bitmovin-player-ui</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/StringUtils.html">StringUtils</a></li><li><a href="" aria-current="page">replaceAdMessagePlaceholders</a></li></ul><h1>Function replaceAdMessagePlaceholders</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="replaceadmessageplaceholders"><span class="tsd-kind-call-signature">replaceAdMessagePlaceholders</span><span class="tsd-signature-symbol">(</span><br/> <span class="tsd-kind-parameter">adMessage</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">player</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">PlayerAPI</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">skipOffset</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">activeAdIndex</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span><br/> <span class="tsd-kind-parameter">totalNumberOfAds</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><a href="#replaceadmessageplaceholders" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Fills out placeholders in an ad message.</p>
<p>Has the following placeholders, which are replaced with:</p>
<ul>
<li>'{remainingTime[formatString]}': the remaining time until the ad can be skipped</li>
<li>'{playedTime[formatString]}': the current time</li>
<li>'{adDuration[formatString]}': the ad duration</li>
<li>'{adBreakRemainingTime[formatString]}': the total remaining time of all ads in the ad break</li>
<li>'{activeAdIndex[formatString]}': the number of the currently played ad within the current ad break by default, or <code>activeAdIndex</code> if provided. <code>activeAdIndex</code> can be used to show the index of the current ad across multiple ad breaks with the same schedule time.</li>
<li>'{totalAdsCount[formatString]}': the total number of ads in the current ad break by default, or <code>totalNumberOfAds</code> if provided. <code>totalNumberOfAds</code> can be used to show the number of ads across multiple ad breaks with the same schedule time.</li>
</ul>
<p>The format string is optional. If not specified, the placeholder is replaced by the time
in seconds. If specified, it must be of the following format:</p>
<ul>
<li>%d - Inserts the time as an integer.</li>
<li>%0Nd - Inserts the time as an integer with leading zeroes, if the length of the time string is smaller than N.</li>
<li>%f - Inserts the time as a float.</li>
<li>%0Nf - Inserts the time as a float with leading zeroes.</li>
<li>%.Mf - Inserts the time as a float with M decimal places. Can be combined with %0Nf, e.g. %04.2f (the time
10.123 would be printed as 0010.12).</li>
<li>%hh:mm:ss</li>
<li>%mm:ss</li>
</ul>
<p>Examples:</p>
<ul>
<li>{ text: 'Ad: {remainingTime%mm:ss} secs' }
An input value of 100 would be displayed as: 'Ad: 01:40 secs'</li>
<li>{ text: 'Ad: {remainingTime%f} secs' }
An input value of 100 would be displayed as: 'Ad: 100.0 secs'</li>
<li>{ text: 'Adbreak: {adBreakRemainingTime%f} secs' }
Adbreak with 2 ads each 50 seconds would be displayed as: 'Ad: 100.0 secs'</li>
</ul>
</div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">adMessage</span>: <span class="tsd-signature-type">string</span></span><div class="tsd-comment tsd-typography"><p>an ad message with optional placeholders to fill</p>
</div></li><li><span><span class="tsd-kind-parameter">player</span>: <span class="tsd-signature-type">PlayerAPI</span></span><div class="tsd-comment tsd-typography"><p>the player to get the time data from</p>
</div></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">skipOffset</span>: <span class="tsd-signature-type">number</span></span><div class="tsd-comment tsd-typography"><p>if specified, {remainingTime} will be filled with the remaining time until the ad can be skipped</p>
</div></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">activeAdIndex</span>: <span class="tsd-signature-type">number</span></span><div class="tsd-comment tsd-typography"><p>if specified, {activeAdIndex} will be set to this value. Can be used to calculate the ad index
across multiple ad breaks which are scheduled for the same time. If not provided, the value will be calculated
for the current ad break only from the player API.</p>
</div></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">totalNumberOfAds</span>: <span class="tsd-signature-type">number</span></span><div class="tsd-comment tsd-typography"><p>if specified, {totalAdsCount} will be set to this value. Can be used to calculate the total
number of ads across multiple ad breaks which are scheduled for the same time. If not provided, the value will
be calculated for the current ad break only from the player API.</p>
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><p>the ad message with filled placeholders</p>
<aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/bitmovin/bitmovin-player-ui/blob/5625eaf297b28370b8918d403e774f4cc0d2da1d/src/ts/utils/StringUtils.ts#L118">src/ts/utils/StringUtils.ts:118</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">bitmovin-player-ui</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>