Slavný skladatel zažil tragickou smrt tří dětí, slávu v Americe i stesk po domově

29. 9. 2024

Sdílet

Jeden z našich nejlepších hudebních skladatelů, Antonín Dvořák, zemřel ve věku 62 let. Jako vynikající hudebník tehdejší doby po sobě zanechal významné dílo, které je dodnes součástí repertoáru slavných orchestrů celého světa. Zemřel Antonín Dvořák opravdu na mrtvici? Jaké léky užíval těsně před svou smrtí?

Slavný skladatel Antonín Dvořák zemřel předčasně a zanechal po sobě ještě spoustu nedokončených skladeb. Jaké zdravotní problémy ho před smrtí sužovaly, jaké léky užíval a dalo se udělat něco jinak, aby se dožil úctyhodnějšího věku? Údajně zemřel na mozkovou mrtvici. 

Muzikant v řeznické rodině

Antonín Dvořák (1841–1904) se narodil do rodiny řezníka. Toto řemeslo se dědilo z generace na generaci. Pocházel z devíti sourozenců a původně i on sám měl jako nejstarší syn vykonávat řemeslo po otci. Nakonec však hudba zvítězila. Už od dětství se pod vedením Josefa Spitze učil hrát na housle a poté se jej ujal varhaník Antonín Liehmann, který jej naučil hrát i na další nástroje, a to klavír a varhany. V šestnácti letech pak odjel do Prahy studovat na varhanickou školu a o pár let později už hrál v orchestru Prozatímního divadla na violu.

Alkoholik s nemocným srdcem. Slavný spisovatel zemřel mladý Přečtěte si také:

Alkoholik s nemocným srdcem. Slavný spisovatel zemřel mladý

Živil se také výukou klavíru, což mu přihrálo do života pár pěvecky nadaných mladých dívek, do nichž se zamiloval. Jednou z nich byla jeho budoucí žena Anna, mladší sestra Josefíny Čermákové, první a neopětované Dvořákovy lásky, dle tvrzení některých i lásky celoživotní.

Jedno neštěstí za druhým

Mladičkou Annu, která musela být v devatenácti letech zplnoletněna, si vzal ve svých dvaatřiceti letech a zplodil s ní celkem devět dětí. Bohužel ne všechny se dožily dospělosti: nejstarší syn, jehož čekala už před svatbou, zemřel ve třech letech na neštovice, druhá dcerka zemřela jen dva dny po narození a třetí dceruška v necelém roce na otravu fosforem. 

Hrozné neštěstí nastalo poté, co do lahvičky s mlékem nedopatřením spadly sirky, které v té době měly hlavičky z jedovatého fosforu. Tato nehoda se stala v srpnu roku 1877 a hned v září, o necelý měsíc později, manželé Dvořákovi ztratili tříletého syna, který onemocněl neštovicemi. Rok 1877 byl tedy velmi nešťastný. Poté, co Dvořákovi ztratili všechny své tři děti, se z bytu, v němž nenašli štěstí,  odstěhovali. 

Krátce po svatbě se jim totiž nedařilo dobře a třeli bídu s nouzí, Dvořák tehdy pracoval jako varhaník a rodina Anny ani s jejich sňatkem nesouhlasila. Nakonec za přispění vlivu skladatele Johannese Brahmse, pozdějšího celoživotního přítele, mohl Dvořák opakovaně pobírat stipendium určené mimořádně talentovaným umělcům. V novém bytě v Žitné ulici už se pak Dvořákovým konečně začalo dařit.

Šťastná léta s velkou rodinou

Narodilo se jim dalších šest dětí a všechny se dožily dospělosti, některé z nich se i proslavily. Například Dvořákova dcera Magdalena byla známou operní pěvkyní, syn Otakar vydal o svém otci v roce 1960 knihu a vnuk Antonína Dvořáka Jiří Sobotka se proslavil jako fotbalový vicemistr světa z roku 1934. Antonín Dvořák začal nejprve vyučovat na pražské konzervatoři a pomalu se stával slavným. Důkazem šťastného období byla i nabídka od manželky milionáře Jeanette Thurber. Ta požadovala, aby se Dvořák stal uměleckým ředitelem hudebního ústavu, který v New Yorku založila.

I když se Dvořákovi do Ameriky nechtělo, nakonec tam opakovaně jezdil se svou rodinou, vždy jej ale dohnal stesk po domově. Manžel jeho první lásky Josefíny hrabě Kounic mu prodal starou část zámečku ve Vysoké u Příbramě, kde si Dvořák ze starého špýcharu vybudoval letní sídlo. Tam mohl také nerušeně komponovat, choval holuby a sadařil. A právě tam složil i svou nejslavnější operu Rusalku. Kromě Ameriky pak Dvořák jezdil též koncertovat do Ruska, kam jej pozval jeho přítel, skladatel Petr Iljič Čajkovskij.

Hudební skladatel Bedřich Smetana v pražském muzeu voskových figurín Madame Tussaud

Kvíz: Syfilis, tuberkulóza, otrava, nehoda. Co zabilo slavné osobnosti?

Zatímco smrt některých slavných osobností je opředena tajemstvím, u některých je příčina toho, nač zemřeli, nezpochybnitelná. Nejspíše většinu příběhů z našeho testu znáte – schválně si udělejte náš kvíz, ať vidíte, jak jste na tom. 

Pocty před smrtí

Od roku 1895 působil Antonín Dvořák jako profesor pražské konzervatoře a mezi jeho žáky patřili pozdější významní hudební skladatelé Vítězslav Novák, Oskar Nedbal nebo Josef Suk starší, který se oženil s Dvořákovou dcerou Otilií, rovněž nadanou klavíristkou a hudební skladatelkou. Spolu měli jediného syna Josefa Suka, protože Otilie bohužel ve věku 27 let, jen rok po odchodu svého otce, zemřela na následky vrozené srdeční vady.

Antonín Dvořák krátce před svou smrtí získal vyznamenání od císaře Františka Josefa I., který jej povýšil do šlechtického stavu na rytíře. Rok 1901 byl pro Dvořáka významný i tím, že se stal ředitelem pražské konzervatoře a oslavil 60. narozeniny, které se staly národní událostí. Ale jeho život se chýlil ke svému konci. V roce 1904 zemřel po pěti týdnech ulehnutí na lůžko kvůli zdravotním problémům. Příčinou smrti byla údajně mozková mrtvice.

Rozbor léku po 100 letech

Zajímavostí je, že po více než sto letech Státní ústav pro kontrolu léčiv zjistil na základě rozboru vzorku léků uschovaných v Dvořákově pozůstalosti, že před svou smrtí užíval prostředek na léčbu močových cest. Vědci tedy usuzují, že na lůžko mohly Dvořáka poslat vážné problémy s močovými cestami nebo prostatou. Podle štítku na krabičce byl lék pro Antonína Dvořáka připravený v Lékárně U Modrého lva ve Vodičkově ulici v Praze, a to dne 17. 4. 1904, což je asi dva týdny před jeho smrtí. V krabičce byly nalezeny bílé krystalky zabalené v nažloutlém papíru. A právě vzorek těchto léků poskytlo muzeum pečující o Dvořákovu pozůstalost k analýze v laboratoři.

Syfilis, zánět kostí? Stále není úplně jasné, co přivedlo Bedřicha Smetanu k šílenství Přečtěte si také:

Syfilis, zánět kostí? Stále není úplně jasné, co přivedlo Bedřicha Smetanu k šílenství

Netradičního úkolu jsme se zhostili moc rádi. Nejprve však bylo nutné domluvit detaily rozboru. Potřebovali jsme vědět, zda je možné vzorek při analýze celý využít, nebo zda jej chce muzeum vrátit. Podobně opatrně jsme museli postupovat v případě obalu, který bylo nutné zachovat v původním stavu. A samozřejmě tu bylo jisté riziko, že se látku nemusí podařit vůbec identifikovat, uvedla k tomuto případu médiím ředitelka Státního ústavu pro kontrolu léčiv Irena Storová.

Pracovníci posléze zjistili, že bílé krystalky se nazývají urotropin neboli hexamethylentetramin používající se v minulosti jako antibiotikum k léčbě infekce močových cest. Podle svědectví Dvořákova syna Otakara … otec se rozstonal, ač po celý život se onemocnění statečně vyhýbal. Byla to zlá nemoc. Zprvu šlo o onemocnění močového měchýře. V Žitné ulici v Praze v domě naproti nám bydlil prof. Hnátek. Ten třikráte denně odebíral otci uměle moč by se dalo usuzovat na vážné problémy s močovými cestami, ledvinami nebo prostatou. Antonín Dvořák musel před smrtí zažívat kruté bolesti a nemohl se sám vymočit. Jisté je, že trpěl silnou ledvinovou kolikou i s horečkami a mohl také namísto mrtvice zemřít na plicní embolii, která přišla kvůli dlouhodobému nehybnému klidu na lůžku.

Zdroje: 

Dvořák American Heritage Association: His life, his music, his legacy

Antonín-Dvořák.cz: Death and funeral

wikipedia.org; idnes.cz; denik.cz; zena-in.cz

Autor článku

Externí redaktorka a copywriterka píšící pro webové i tištěné magazíny. Zaměřuje se na oblast zdraví, historie medicíny, psychologie, filozofie, etikoterapie a alternativní medicíny.

'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).
'; document.getElementById('outstream-iframe').onload = function () { setupIframe(); } replayScreen = document.getElementById('iinfoOutstreamReplay'); iinfoOutstreamPosition = document.getElementById('iinfoOutstreamPosition'); outstreamContainer = document.getElementsByClassName('outstream-container')[0]; setupReplayScreen(); } function setupIframe() { outstreamDocument = document.getElementById('outstream-iframe').contentWindow.document; let el = outstreamDocument.createElement('style'); outstreamDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:-5px;right:25px}"; videoContent = outstreamDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; if ( location.href.indexOf('rejstriky.finance.cz') !== -1 || location.href.indexOf('finance-rejstrik') !== -1 || location.href.indexOf('firmy.euro.cz') !== -1 || location.href.indexOf('euro-rejstrik') !== -1 || location.href.indexOf('/rejstrik/') !== -1 || location.href.indexOf('/rejstrik-firem/') !== -1) { outstreamDirectPlayed = true; soundAllowed = true; iinfoVastUrlIndex = 0; } if (!outstreamDirectPlayed) { console.log('OUTSTREAM direct'); setUpIMA(true); } else { if (soundAllowed) { const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('OUTSTREAM sound allowed'); setUpIMA(false); }).catch(function () { console.log('OUTSTREAM sound forbidden'); renderBanner(); }); } } else { renderBanner(); } } } function getWrapper() { let articleWrapper = document.querySelector('.rs-outstream-placeholder'); // Outstream Placeholder from RedSys manipulation if (articleWrapper && articleWrapper.style.display !== 'block') { articleWrapper.innerHTML = ""; articleWrapper.style.display = 'block'; } // Don't render OutStream on homepages if (articleWrapper === null) { if (document.querySelector('body.p-index')) { return null; } } if (articleWrapper === null) { articleWrapper = document.getElementById('iinfo-outstream'); } if (articleWrapper === null) { articleWrapper = document.querySelector('.layout-main__content .detail__article p:nth-of-type(6)'); } if (articleWrapper === null) { // Euro, Autobible, Zdravi articleWrapper = document.querySelector('.o-article .o-article__text p:nth-of-type(6)'); } if (articleWrapper === null) { articleWrapper = document.getElementById('sidebar'); } if (!articleWrapper) { console.error("Outstream wrapper of article was not found."); } return articleWrapper; } function setupDimensions() { outstreamWidth = Math.min(iinfoOutstreamPosition.offsetWidth, 480); outstreamHeight = Math.min(iinfoOutstreamPosition.offsetHeight, 320); } /** * Sets up IMA ad display container, ads loader, and makes an ad request. */ function setUpIMA(direct) { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); if (direct) { adsRequest.adTagUrl = directVast; console.log('Outstream DIRECT CAMPAING advert: ' + directVast); videoContent.muted = true; videoContent.volume = 0; outstreamDirectPlayed = true; } else { adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Outstream advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; } // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = outstreamWidth; // adsRequest.linearAdSlotHeight = outstreamHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function setupReplayScreen() { replayScreen.addEventListener('click', function () { iinfoOutstreamPosition.remove(); iinfoVastUrlIndex = 0; outstreamInit(); }); } /** * Sets the 'adContainer' div as the IMA ad display container. */ function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. outstreamDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( outstreamDocument.getElementById('adContainer'), videoContent); } function unmuteAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); outstreamDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); outstreamDocument.getElementById('adMuteBtn').innerHTML = ''; } } /** * Loads the video content and initializes IMA ad playback. */ function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(outstreamWidth, outstreamHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } /** * Handles the ad manager loading and sets ad event listeners. * @param { !google.ima.AdsManagerLoadedEvent } adsManagerLoadedEvent */ function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } /** * Handles actions taken in response to ad events. * @param { !google.ima.AdEvent } adEvent */ function onAdEvent(adEvent) { // Retrieve the ad from the event. Some events (for example, // ALL_ADS_COMPLETED) don't have ad object associated. const ad = adEvent.getAd(); console.log('Outstream event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: // This is the first event sent for an ad - it is possible to // determine whether the ad is a video ad or an overlay. if (!ad.isLinear()) { // Position AdDisplayContainer correctly for overlay. // Use ad.width and ad.height. videoContent.play(); } outstreamDocument.getElementById('adContainer').style.width = '100%'; outstreamDocument.getElementById('adContainer').style.maxWidth = '640px'; outstreamDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); // This event indicates the ad has started - the video player // can adjust the UI, for example display a pause button and // remaining time. if (ad.isLinear()) { // For a linear ad, a timer can be started to poll for // the remaining time. intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } outstreamDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (outstreamLastError === 303) { if (isBanner) { renderBanner(); } else { replayScreen.style.display = 'flex'; } } break; case google.ima.AdEvent.Type.COMPLETE: // This event indicates the ad has finished - the video player // can perform appropriate UI actions, such as removing the timer for // remaining time detection. if (ad.isLinear()) { clearInterval(intervalTimer); } if (isBanner) { renderBanner(); } else { replayScreen.style.display = 'flex'; } break; } } /** * Handles ad errors. * @param { !google.ima.AdErrorEvent } adErrorEvent */ function onAdError(adErrorEvent) { // Handle the error logging. console.log(adErrorEvent.getError()); outstreamLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { renderBanner(); } } function renderBanner() { if (isBanner) { console.log('Outstream: Render Banner'); iinfoOutstreamPosition.innerHTML = ""; iinfoOutstreamPosition.style.height = "330px"; iinfoOutstreamPosition.appendChild(bannerDiv); } else { console.log('Outstream: Banner is not set'); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoOutstreamPosition.remove(); outstreamInit(); } else { return false; } adVolume = 1; return true; } /** * Pauses video content and sets up ad UI. */ function onContentPauseRequested() { videoContent.pause(); // This function is where you should setup UI for showing ads (for example, // display ad timer countdown, disable seeking and more.) // setupUIForAds(); } /** * Resumes video content and removes ad UI. */ function onContentResumeRequested() { videoContent.play(); // This function is where you should ensure that your UI is ready // to play content. It is the responsibility of the Publisher to // implement this function when necessary. // setupUIForContent(); } function onActiveView() { if (outstreamContainer) { const containerOffset = outstreamContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (outstreamPaused) { adsManager.resume(); outstreamPaused = false; } return true; } else { if (!outstreamPaused) { adsManager.pause(); outstreamPaused = true; } } } return false; } let outstreamInitInterval; if (typeof cpexPackage !== "undefined") { outstreamInitInterval = setInterval(tryToInitializeOutstream, 100); } else { const wrapper = getWrapper(); if (wrapper) { let outstreamInitialized = false; window.addEventListener('scroll', () => { if (!outstreamInitialized) { const containerOffset = wrapper.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight / 1 && containerOffset.bottom > 0.0) { outstreamInit(); outstreamInitialized = true; } } }); } } function tryToInitializeOutstream() { const wrapper = getWrapper(); if (wrapper) { const containerOffset = wrapper.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight / 1 && containerOffset.bottom > 0.0) { if (cpexPackage.adserver.displayed) { clearInterval(outstreamInitInterval); outstreamInit(); } } } else { clearInterval(outstreamInitInterval); } } }
OSZAR »