2012-05-23 14 views
15

काम नहीं कर रहा है मैं एक 3 जीपीपी (या एमपी 4) वीडियो के साथ एंड्रॉइड 4 स्मार्टफोन के लिए एक एचटीएमएल 5 पेज डिज़ाइन कर रहा हूं जिसे खोले जाने पर पूर्णस्क्रीन को ऑटोप्ले करना है; जब वीडियो समाप्त होता है तो उसे दूसरे यूआरएल पर रीडायरेक्ट करना चाहिए।एंड्रॉइड 4 पर एचटीएमएल 5 वीडियो: पूर्णस्क्रीन खेलें और फिर किसी अन्य वेबपृष्ठ पर रीडायरेक्ट करें -

कुछ googling ने मुझे बताया कि एंड्रॉइड 4 पर ऑटोप्ले की अनुमति नहीं है, इसलिए मैंने एक पोस्टर छवि प्रदर्शित करना चुना जिसे उपयोगकर्ता को वीडियो शुरू करने के लिए क्लिक करना है। तब:

  1. पूर्ण स्क्रीन मोड शुरू हो जाती है
  2. वीडियो स्वचालित रूप से शुरू कर देना चाहिए (वास्तव में पोस्टर छवि पर उपयोगकर्ता क्लिक करके शुरू किया गया था)
  3. जब वीडियो खत्म खेलने के लिए एंड्रॉयड पूर्णस्क्रीन से बाहर आने चाहिए
  4. और अंत में अनुप्रेषित उपयोगकर्ता को एनोथ पेज पर।

2 और 3 काम नहीं कर रहे: फुलस्क्रीन लागू उपयोगकर्ता के बाद करते हैं एक और "क्लिक" वीडियो शुरू करने के लिए और जब वीडियो समाप्त होता है exitfullscreen काम नहीं करता है (स्क्रीन काली और उपयोगकर्ता के प्रेस करने पर "वापस" कुंजी है फोन के वीडियो प्लेयर से बाहर निकलने के लिए फोन)।

video.webkitExitFullScreen() और video.play() तरह लग रहा है एंड्रॉयड 4.

इस पर ध्यान नहीं दिया जाता है एचटीएमएल 5 मार्कअप और जावास्क्रिप्ट कोड मैं उपयोग कर रहा हूँ, आप कृपया मुझे एक समाधान की ओर इशारा करते मदद कर सकता है?

धन्यवाद!

<head> 
    <meta charset="UTF-8"> 
    <meta name="viewport" content="width=device-width; initial-scale=1.0" /> 
    <meta name="description" content="" /> 
    <title>test</title> 

    <script type="text/javascript"> 

     function videoEnd() { 
      var video = document.getElementById("video"); 
      video.webkitExitFullScreen(); 
      document.location = "http://www.google.com"; 
     } 

     function playVideo() { 
      var video = document.getElementById("video"); 
      video.addEventListener('ended', videoEnd, false); 
      video.webkitEnterFullScreen(); 
      video.play(); 
     } 

    </script> 
</head> 
<body> 
    <video id="video" poster="../img/image.jpg" onclick="playVideo();"> 
     <source src="../video/videoname.3gp" type="video/3gpp" /> 
    </video> 
</body> 
+0

video.webkitEnterFullScreen(); एंड्रॉइड 4.1 पर यह आपके लिए काम किया है? मुझे शक है। –

उत्तर

0

मुझे हाल ही में एक ही समस्या है। वेब खोजने के घंटों के बाद, यहां मैंने इसे कैसे काम किया:

"play()" विधि का आह्वान करने से पहले, "लोड()" विधि का उपयोग करें। तो आपके कोड में:

function playVideo() { 
     var video = document.getElementById("video"); 
     video.addEventListener('ended', videoEnd, false); 
     video.webkitEnterFullScreen(); 
     video.load(); 
     video.play(); 
    } 

मैं एंड्रॉइड 2.2, 2.3 और आईफोन 3 पर टेस्ट करता हूं और यह काम करता है। हालांकि यह एंड्रॉइड 4.0 पर नहीं लगता है।

पीएस

आप पुनर्निर्देशित करना चाहते हैं जब वीडियो उपयोग इस घटना चलने के बाद:

var video = document.getElementById("video"); 
video.addEventListener("ended",doSomething,true); 

function doSomething() { 
    //your redirect code here 
} 
+2

धन्यवाद। दुर्भाग्यवश मुझे इसे एंड्रॉइड 4 पर काम करने की ज़रूरत है। – guidobras

1

मैं कुछ सुझाव जो आपकी मदद कर सकते है,

यह Android वेब दृश्य नहीं Android के लिए एप्लिकेशन लागू होगा वेब एप्लीकेशन।

आप या तो एंड्रॉइड हुक अप या एंड्रॉइड वेब व्यू क्लाइंट बना सकते हैं, वैल्यू को वेरिएबल (क्वेरी स्ट्रिंग) के रूप में पास कर सकते हैं और एंड्रॉइड देशी से वीडियो चला सकते हैं, जहां आपके पास सभी नियंत्रण हैं।

कृपया वीडियो चलाने के लिए कोड पाएं।

enter code here 

public void videoPlayer(String path, String fileName, boolean autoplay){ 
getWindow().setFormat(PixelFormat.TRANSLUCENT); 
//the VideoView will hold the video 
VideoView videoHolder = new VideoView(this); 
//MediaController is the ui control howering above the video (just like in the default youtube player). 
videoHolder.setMediaController(new MediaController(this)); 
//assing a video file to the video holder 
videoHolder.setVideoURI(Uri.parse(path+"/"+fileName)); 
//get focus, before playing the video. 
videoHolder.requestFocus(); 
if(autoplay){ 
    videoHolder.start(); 
} 

}

आप उज्ज्वल कोव की तरह लागू करने के लिए चाहते हैं, तो मुझे संपर्क मैं 5

चीयर्स

0

यह एंड्रॉयड के बाद के संस्करणों में लगता है, कार्यक्रम संबंधी video.play() HTML के लिए मदद मिलेगी WebView से स्पष्ट प्रमाणीकरण की आवश्यकता है। जैसे

settings.setMediaPlaybackRequiresUserGesture(false);

1

मैं जानता हूँ कि यह एक पुरानी पोस्ट है, लेकिन किसी को इस बात के लिए देख रहे हैं। वीडियो समाप्त होने के बाद व्यक्तिगत रूप से मैं केवल वीडियो-तत्व (एक साधारण jquery $ videoElement.hide() के साथ) छुपाता हूं, जो मुझे ब्राउज़र पर स्वचालित रूप से वापस लाता है।

हमने कई मोबाइल उपकरणों (आईओएस और एंड्रॉइड) पर इसका परीक्षण किया है।

मुझे अभी भी एक और समस्या है, जो अब है कि मेरा ब्राउज़र पूर्णस्क्रीन लगता है (जो मेरे मामले में अन्य समस्याएं पैदा करता है)।

+0

उपर्युक्त के अतिरिक्त: कुछ गूगलिंग के बाद मुझे पता चला कि पूर्णस्क्रीन समस्या के साथ समस्या निम्नानुसार है: वीडियो तत्व को छुपाकर वास्तव में मुझे वीडियोप्लेयर से वापस लाता है ब्राउज़र। हालांकि एंड्रॉइड कहता है कि - पूर्णस्क्रीन-मोड से बाहर निकलने के लिए - उपयोगकर्ता-क्रिया की आवश्यकता होती है (ऊपर से नीचे तक स्वाइप करना)। यही कारण है कि ब्राउज़र पूर्णस्क्रीन मोड में रहता है। मुझे इसके लिए कोई फिक्स नहीं मिला है। चूंकि एंड्रॉइड काम करता है, इसलिए हमने फैसला किया है कि वीडियो समाप्त होने के बाद, उपयोगकर्ता को वीडियो से बाहर निकलने और वेबसाइट पर वापस जाने के लिए कार्रवाई करनी होगी। – vrijdenker