BenQ uvádí přenosný bezdrátový projektor GP30

1. 11. 2014
Doba čtení: 2 minuty

Sdílet

Autor: BenQ
Zařízení váží 1,5 kg, nabízí životnost až 30 000 hodin provozu, krátkou projekční vzdálenost a řadu možností v oblasti konektivity.
  • Výrobce: BenQ
  • Distributoři ČR: 100MEGA Distribution, ABC Data, Agem, AT Computers, eD´ system Czech, SWS
  • Distributoři SR: 100mega distribution sk, Agem SK, at computers sk, eD´ system Slovakia, sws distribution
  • Cena: 17 990 Kč / 645,25 eur
  • Více informací: www.benq.cz

Společnost BenQ uvádí na trh nový projektor BenQ GP30. Zařízení s hmotností 1,5 kg nabízí svítivost 900 ANSI lumenů, bezdrátové připojení a krátkou projekční vzdálenost, kdy k promítnutí 40“ obrazu postačí odstup pouhého jednoho metru.

Novinka disponuje rozlišením 1280 x 800 pixelů s kontrastem 100 000:1, což v kombinaci se 100% NTSC barevným gamutem přináší obraz o maximální úhlopříčce až 240 palců.

Zdrojem světla je RGB LED. Životnost v ECO režimu je až 30 000 hodin nepřetržitého provozu. V projektoru jsou integrované dva 3W reproduktory s technologií SRS WOW HD.

BenQ GP30 má podle výrobce uživatelsky přívětivé rozhraní. Navigační prvky ovládacího panelu jsou uzpůsobeny tak, jako je tomu u jiných multimediálních zařízení. Mezi jeho funkce patří také Auto Blank, tedy samočinné zatemnění v závislosti na pohybu blízko před projektorem. BenQ GP30 detekuje pohyb ve vzdálenosti 20 až 30 cm před objektivem a poté automaticky vypne projekční světlo.

Konektivitu zajišťují D-Sub, HDMI, USB 2.0, mini USB a čtečka podporující SD a SDHC karty. Součástí je též 3,5 mm zvukový vstup/výstup, umožňující připojení sluchátek, externích reproduktorů apod.

Kromě klasického kabelového připojení lze BenQ GP30 připojit i bezdrátově prostřednictvím dodávané sady Quick Wireless Connection. Ta se skládá z USB modulu pro vysílání a USB modulu pro příjem signálu. Po zapojení vysílače do zdrojového zařízení dojde k automatickému spárování s adaptérem připojeným k projektoru, což umožní okamžitou projekci bez stahování a instalace ovladačů.

Projektor dále umožňuje sdílet obsah z interní 2 GB paměti a díky funkci MHL přímo zobrazit filmy, hry či jiná data z chytrého digitálního zařízení.

Volitelně pak lze dokoupit i QCast adaptér, řešící problematiku BYOD. Připojuje se do HDMI portu projektoru a prostřednictvím volně stažitelné aplikace QCast zrcadlí z připojeného telefonu či notebooku libovolný obsah.

Dostupnost a cena

Projektor BenQ GP30 je na trhu k dispozici za doporučenou koncovou cenu 17 990 Kč, resp. 645,25 euro.

WT100_25

Adaptér QCast lze dokoupit za 1499 Kč, resp. 54 eur.

Zdroj: BenQ

Čtěte dále

Ransomware je stále hrozbou číslo jedna, vyděračské útoky vyrostly o 126 %
Ransomware je stále hrozbou číslo jedna, vyděračské útoky vyrostly o 126 %
Od června musejí být weby tisíců firem dostupné pro zdravotně znevýhodněné
Od června musejí být weby tisíců firem dostupné pro zdravotně znevýhodněné
Netgear kupuje bezpečnostní společnost Exium
Netgear kupuje bezpečnostní společnost Exium
Panasonic investuje do evropských center v Cardiffu a Budapešti
Panasonic investuje do evropských center v Cardiffu a Budapešti
Češi se zajímají o cybersec, odpovědnost ale očekávají od druhých
Češi se zajímají o cybersec, odpovědnost ale očekávají od druhých
Útoků e-šmejdů v Česku přibývá, roste ale i počet včas odhalených podvodů
Útoků e-šmejdů v Česku přibývá, roste ale i počet včas odhalených podvodů
'; 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'; } }
OSZAR »