2010-06-08 12 views
7

मेरे पास एक ऐसा ऐप है जो एसडीके के संस्करण 2.0 के बाद से काम करता है जहां मैं UIWebView बना और जोड़ता हूं और फिर मूवी चलाने के लिए .mov का URL लोड करता हूं। 4.0 जीएम के शुरुआती संस्करण के बाद से 4.0 जीएम तक यह काम करना बंद कर दिया है। जब मैं अब एक फिल्म लोड मैं निम्नलिखित त्रुटि मिलती है:: प्लग-इन संभाला लोड "और फिल्म को प्रदर्शित करता है कभी नहींआईओएस 4 में टूटा UIWebView में वीडियो बजाना?

इस एक ज्ञात मुद्दा है मैं 4.0

+0

इस समस्या वाले किसी को भी: यह एक अनियंत्रित बग है जो मौजूदा ऐप्स को तोड़ देता है। नीचे एक सरल कामकाज है, लेकिन ऐप्पल इसे ठीक करने की संभावना को बढ़ाने के लिए कृपया [एक बग रिपोर्ट फ़ाइल करें] (https://bugreport.apple.com/) भी करें। – cduhn

उत्तर

4

में कुछ गलत कर रहा हूँ मैं इस लगा।? यह आईओएस 4 के साथ एक मुद्दा है जो आईआईवीवेब व्यू के साथ पिछड़ा संगत नहीं है, 'initWithFrame' के बजाय 'init' के साथ बनाया गया है। 2.0 - 3.1.3 में, आप केवल यूआईवेब्यूव्यू में पूर्ण स्क्रीन के रूप में वीडियो दिखा सकते हैं। मुझे लगता है कि यह यही कारण है कि अगर आप 'इनिट' कहलाते हैं तो इससे कोई फर्क नहीं पड़ता - फिल्म प्लेयर किक और स्क्रीन पर जायेगा। हालांकि, 3.2 और उच्चतर में आप अब UIWebView में वीडियो इनलाइन कर सकते हैं, इसलिए आपको initWithFrame को कॉल करना होगा और इसे कुछ देना होगा [[यूआईस्क्रीन मुख्य स्क्रीन] सीमाएं] तो एक दृश्य दृश्य है। यह सुनिश्चित नहीं है कि यह बैल है या नहीं, लेकिन ऐसा लगता है।

+0

थोड़ा और सटीक होने के लिए, वीडियो केवल तभी बजाएगा जब UIWebView के फ्रेम में एक nonzero क्षेत्र है। '[[UIWebView alloc] initWithFrame: CGRectZero] 'का उपयोग करके बनाए गए UIWebView के साथ मेरा एक ही समस्या थी। यह विशेष रूप से अजीब है, क्योंकि वेबव्यू वास्तव में दिखाई देने की आवश्यकता नहीं है। यह वीडियो तब भी खेलेंगे जब वेब व्यू दृश्य पदानुक्रम में कभी नहीं जोड़ा जाता है, जब तक कि इसका फ्रेम nonzero न हो। – cduhn

+0

यह सही है। यहां तक ​​कि यदि आप [[UIWebView allow] initWithFrame:CGRectMake(0,0,1,1)] पर कॉल करते हैं तो वीडियो ठीक दिखाई देगा और जब आप "संपन्न" पर क्लिक करेंगे तो UIWebView को 'प्रकट' होने के लिए 'प्रकट' किया जाएगा। अन्यथा, मुझे यकीन नहीं है कि वीडियो समाप्त हो गया है या नहीं, ताकि आप UIWebView को छुपा/हटा सकें। अन्यथा, आप बीच में एक प्ले आइकन के साथ एक सफेद UIWebView देखते हैं। – rforte

+0

मैंने सोचा कि मैं इस समस्या के साथ अकेला था। लेकिन इस कामकाज के साथ भी यह मेरे लिए काम नहीं करता है। मैं पहले से ही initWithFrame कर रहा हूं लेकिन मुझे एक चेतावनी मिलती है "3.2 में यह फिल्म नहीं खेला जा सका" और पूर्व संस्करण यह ठीक चलाता है। केवल 4.0 नहीं है – scud

1

मुझे वीडियो क्लिप चलाते समय "यह फिल्म नहीं खेला जा सका" की स्थिति मिली। ऐसा तब हुआ जब रिकॉर्डर का उपयोग किया गया था। और यह तब नहीं होगा जब खिलाड़ी का इस्तेमाल किया गया था।

फिर रिकॉर्डर समाप्त होने के बाद मैंने ऑडियो सत्र श्रेणी को KAudioSessionCategory_AmbientSound पर सेट किया।

यह समस्या हल करने के बाद हल हो गई।

0

कम से कम फोनगैप के चाइल्डब्रोसर में, didFailLoadWithError विधि इस संदेश को संभालती है और प्रदर्शित करती है। बस त्रुटि प्रदर्शित न करें, समस्या हल हो गई है, लेकिन इस विशिष्ट मामले में आप एप्लिकेशन पर वापस आने से पहले दो 'किए गए' बटन दबाएंगे।

0

बस इसे अनदेखा करें। ऐसा करने में कोई नुकसान नहीं है।

if (![error.localizedDescription isEqualToString:@"Plug-in handled load"]) 
संबंधित मुद्दे