2013-04-11 17 views
6

पर काम नहीं कर रहा एक आवेदन जहाँ उपयोगकर्ता एक वेब पेज पर वीडियो सेट कर सकते हैं विकसित किया है: - वे या एक यूट्यूब URL निर्दिष्ट कर सकते हैं - वे एक वीडियो अपलोड कर सकतेएंड्रॉयड वेबव्यू html5 वीडियो ऑटोप्ले एंड्रॉयड 4.0.3

पर कौन-सा विकल्प उपयोगकर्ता चुनता है मैं इस तरह एक वीडियो पेज रेंडर निर्भर करता है: एक वीडियो यूट्यूब से है, तो: वीडियो अपलोड किया जा रहा है

<iframe type="text/html" width="640" height="385" src="http://www.youtube.com/embed/YOUTUBEID?autoplay=1&loop=1&autohide=1&fs=0" frameborder="0"></iframe> 

हैं:

<video id="video" style="cursor: pointer;" width="640" height="480" autoplay controls loop> 
    <source src="../video/Tareas_Diarias_Resumen.mp4" type="video/mp4" /> 
</video> 

ठीक है। यह सब Google क्रोम पर सही काम करता है, लेकिन तथ्य यह है कि वीडियो 16 सैमसंग जीटी-पी 5100 एंड्रॉइड 4.03 टैबलेट पर देखा जा रहा है।

हम आपको एक Android आवेदन जो ऐसे ही एक WebView एम्बेड करता है बनाया:

WebView engine = (WebView) findViewById(R.id.web_engine); 
engine.setWebChromeClient(new WebChromeClient()); 
engine.getSettings().setPluginsEnabled(true); 
engine.getSettings().setPluginState(PluginState.ON); 
engine.getSettings().setJavaScriptEnabled(true); 
engine.getSettings().setAllowFileAccess(true); 
engine.loadUrl(miUrl); 

और यहाँ मैं दो मुद्दे हैं: 1- यूट्यूब वीडियो। यह ठीक काम करता है, मैं वीडियो देख सकता हूं लेकिन बिना ऑटोप्ले के, और हम इसे ऑटोप्ले के साथ काम करना चाहते हैं। कोई भी समाधान? 2- अपलोड किया गया वीडियो काम नहीं करता है, मैं खिलाड़ी को देख सकता हूं लेकिन कोई वीडियो नहीं।

वीडियो को हैंडब्रैक के साथ परिवर्तित किया गया था, आईफोन & आईपॉड-टच प्रीसेट और "वेब अनुकूलित" विकल्प चुन रहा था।

कोई मदद या सुराग? अग्रिम धन्यवाद

+0

ऑटोप्ले सबसे मोबाइल प्लेटफार्मों पर (Android, iOS) गरीब उपयोगकर्ता अनुभव से बचने के लिए अवरुद्ध हो जाता है - वीडियो केवल एक उपयोगकर्ता कार्रवाई के बाद खेलना चाहिए। आप आमतौर पर किसी अन्य ईवेंट (जैसे अधिभारित ईवेंट) पर play() को ट्रिगर करके इसके आसपास काम कर सकते हैं – Offbeatmammal

+0

@Offbeatmammal क्या आप इसे इस प्रश्न को बंद करने के उत्तर के रूप में लिख सकते हैं? धन्यवाद। मैंने यह भी पाया http://www.longtailvideo.com/html5/autoloop/ –

+0

किया गया, हालांकि ऐसा लगता है कि पहले से ही एक स्वीकृत उत्तर है – Offbeatmammal

उत्तर

7

ऑटोप्ले सबसे मोबाइल प्लेटफार्मों पर (Android, iOS) गरीब उपयोगकर्ता अनुभव से बचने के लिए अवरुद्ध हो जाता है [अनुरोध के अनुसार जवाब देने के लिए उन्नत बनाया] - वीडियो केवल एक उपयोगकर्ता कार्रवाई के बाद खेलना चाहिए।

var vid=document.getElementById('video'); 
vid.addEventListener("loadstart", showVideo, false); 
function showVideo(e) { 
    vid.play(); 
} 
0

यह हासिल नहीं किया जा सकता है, अधिकांश मोबाइल प्लेटफ़ॉर्म (एंड्रॉइड, आईओएस) पर ऑटोप्ले खराब उपयोगकर्ता अनुभवों से बचने के लिए अवरुद्ध हो जाता है। यह देखो: http://www.longtailvideo.com/html5/autoloop/

4

एंड्रॉयड 4.0.x के लिए, घटना को ट्रिगर कोशिश से यह काम कर सकते हैं एंड्रॉइड एसडीके 17, लेकिन आप ऑटो-प्ले को पुनः सक्षम करने के लिए सेट करने के लिए सेटमेडिया प्लेबैकरक्वर्स यूज़र जेस्चर को झूठी पर सेट कर सकते हैं। एसडीके संस्करण की जांच करना न भूलें क्योंकि पिछले संस्करणों में ऐसा कोई फ़ंक्शन नहीं है।

int SDK_INT = android.os.Build.VERSION.SDK_INT; 
    if (SDK_INT > 16) { 
     engine.getSettings().setMediaPlaybackRequiresUserGesture(false); 
    } 
+2

मैं सहमत हूं। Android के लिए <4.2.2 ऐसा लगता है कि आपको प्राप्त अंतिम डोम ईवेंट 'loadeddata' है। आपको शायद "कैप्प्लेथ्रू" नहीं मिलेगा। ऑटोप्ले करने के लिए, फिर आप जावास्क्रिप्ट 'var myvideo = document.getElementsByTagName (' video ') [0] का उपयोग करें; myvideo.play(); एंड्रॉइड 4.2.2+ के लिए आपको अपने मूल कोड में सभी की जरूरत है 'WebView.getSettings()। setMediaPlaybackRequiresUserGesture (false); ' –

19

ऑटो-प्ले loadstart के बाद से अक्षम है: आप आम तौर पर एक और घटना पर खेलने() ट्रिगर (जैसे onLoaded घटना)

+3

मेरे लिए काम नहीं करता है।क्या गलत है? मैं एंड्रॉइड 5.0 में परीक्षण कर रहा हूं –

संबंधित मुद्दे