2016-09-05 3 views
0

В настоящее время я разрабатываю презентацию для киосков HTML для iPad и Android. Проблема, с которой я сталкиваюсь, - это всплывающие видео на Android, которая отлично работает на iPad, а также в Chrome на Android. Мне нужно представить это как приложение для стиля киоска, и поэтому я использую Protosee на iPad и браузера с полным киоском на Android, который, я считаю, использует Android Webview (Chromium), поэтому он тоже должен работать, но не работает.Autoplay Video на Android

Использование FKB появляется всплывающее окно с видео, но с пустым экраном и значком видео в центре, прикосновение к экрану снова удаляет всплывающее окно, а видео воспроизводится в фоновом режиме.

Любые указатели будут очень признательны.

код выглядит следующим образом

<html> 
<head> 
<title>BASE Charging Stand</title> 
<meta http-equiv="X-UA-Compatible" content="IE=edge"/> 
<meta http-equiv="content-type" content="text/html; charset=utf-8"/> 
<meta name="viewport" content="width=device-width, initial-scale=1.0"/> 
<meta name="apple-mobile-web-app-capable" content="yes"/> 
<link href="logitech.css" type="text/css" rel="stylesheet"/> 
<script type="text/javascript" src="js/logitech.js"></script> 
</head> 
<body> 
<div class="main_content basechargingstand"> 
<div class="header"> 
<div class="hotspot" onclick="goBack()"></div> 
<a href="index.html"><div class="hotspot"></div></a> 
<a href="all_products.html"><div class="hotspot"></div></a> 
</div> 
<div class="page_navigation"> 
<div class="top_slot" onclick="goBack()"></div> 
</div> 
<div class="product_detail"> 
<div id="video_pop" onclick="onPopClick()"></div> 
<a onclick="onVideoClick('videos/Base.mp4');"> 
<img src="images/play_btn_lrg.png" width="78"/> 
</a> 
<a href="base_charging_stand_detail.html"><div class="hotspot 3col"></div></a> 
</div> 
</div> 
</body> 
</html> 

</script> 
function onVideoClick(theLink) { 
document.getElementById("video_pop").innerHTML = "<video poster autoplay id=\"the_Video\"><source src=\""+theLink+"\" type=\"video/mp4\" ></video>"; 
document.getElementById("video_pop").style.display="block"; 
document.getElementById('video_pop').play(); 
} 

function onPopClick() { 
document.getElementById("video_pop").style.display="none"; 
document.getElementById("video_pop").innerHTML = ""; 
}   
</script> 


<style> 
#video_pop { 
    z-index: 9999; 
    position: absolute; 
    left: 0px; 
    width: 100%; 
    height: 100%; 
    background: rgb(193, 198, 201) !important; 
    display: none; 
    cursor: pointer; 
    top: 20.7%; 
} 

#the_Video { 
    width: 100%; 

    position: fixed; 
    top: 60.5%; 
    left: 50%; 
    -webkit-transform: translate(-50%, -50%); 
    transform: translate(-50%, -50%); 

} 
</style> 
+0

Почему вы хотите сделать ** приложение **? Это ** веб-страница **. Просто сделайте мобильную версию. Действительно, нет никакой реальной необходимости делать приложение, которое ссылается только на или что имитирует веб-страницу! –

+0

Просто добавьте, что весь контент/видео будет храниться локально на устройстве Android. –

+0

... это не очень хорошая идея. Чего вы хотите ** спамить ** устройства пользователя с вашими любимыми видео? –

ответ

0

Я думаю, что вы не можете AutoPlay видео внутри WebView в Android. Я считаю, что Android делает это по соображениям безопасности, поэтому приложения не используют слишком много мобильных данных, если пользователь этого не хочет. Может быть, вы могли бы попробовать это, если бы видео было сохранено локально?

1

Android и iOS отключили видеовоспроизведение с целью! Представьте себе, что просмотр веб-страниц на вашем телефоне и все видеорекламы, которые могут воспроизводиться в фоновом режиме, просто просто поглотят всю вашу пропускную способность.

При работе с гибридными HTML-клиентами я использовал этот трюк/обходной путь, чтобы начать автовоспроизведение видео: когда пользователь впервые вводил страницу, то <video> элемент с пустым src должен быть создан на странице (скрытой где-то). Всякий раз, когда пользователь затрагивает экран в первый раз по какой-либо причине, я пытался вызвать метод воспроизведения на видеоэлементе (это разбивает первый пользовательский ресурс на элемент HTML html). Это обычно дает небольшую ошибку/предупреждение в консоли, но это нормально, потому что важно то, что первый пользовательский жест был сделан, что позволяет использовать метод play() всякий раз, когда вы хотите! Поэтому после того, как был сделан первый пользовательский жест, вам просто нужно использовать тот же элемент <video>!

Надеюсь, это поможет.