2012-10-12 14 views
6

मैं UIWebView में एक वीडियो लोड करने का प्रयास कर रहा हूं। वीडियो स्थानीय फाइल सिस्टम में संग्रहीत है। यहां कोड स्निपेट है जिसका उपयोग मैं वीडियो लोड करने के लिए कर रहा हूं।UIWebView स्थानीय वीडियो डेटा लोड करें

वेब-दृश्य लोड हो रहा है करने में त्रुटि:

{ 
    NSString* filePAth = [[NSBundle mainBundle] pathForResource:@"sample_iPod" ofType:@"m4v"]; 
    NSLog(@"%@",filePAth); 
    NSData* data = [NSData dataWithContentsOfFile:filePAth]; 
    [_webView loadData:data MIMEType:@"video/x-m4v" textEncodingName:@"UTF-8" baseURL:nil]; 
} 

यह त्रुटि मैं कंसोल में मिलता है त्रुटि डोमेन = WebKitErrorDomain कोड = 204 "प्लग-इन संभाला लोड" UserInfo = 0x1f8b3c70 {NSErrorFailingURLStringKey = applewebdata : // 3F0047AD-E6CF-4EAD-A4C3-DA6E1C0BD603, WebKitErrorMIMETypeKey = video/x-M4V, NSErrorFailingURLKey = applewebdata: // 3F0047AD-E6CF-4EAD-A4C3-DA6E1C0BD603, NSLocalizedDescription = प्लग में संभाला लोड}

हालांकि, वही कोड अन्य सभी प्रकार के फ़ाइल लोड करने के लिए काम करता है उदाहरण के लिए: पीएनजी, डीओसी et.c.

कृपया मदद करें !!! !!!

+1

आप डिवाइस पर स्थित वीडियो फ़ाइल चलाने के लिए WebView का उपयोग क्यों करना चाहते हैं? MPMoviePlayerViewController बहुत आसान है, कम स्मृति का उपयोग करता है और इसे रखने के लिए बनाया जाता है। याद रखें कि WebView सफारी नहीं है। –

+3

उत्तर के लिए धन्यवाद, लेकिन मुझे UIWebview में वीडियो लोड करने की आवश्यकता है क्योंकि मैं उस दृश्य में विभिन्न फ़ाइल स्वरूप लोड कर रहा हूं। –

उत्तर

5

आपको MPMoviePlayerController के साथ स्थानीय वीडियो और अन्य वीडियो लोड करना चाहिए - (Documentation) - यदि वीडियो चला रहा है तो आपको बस इतना चाहिए और आप एक मूल ऐप विकसित कर रहे हैं।

+0

उत्तर के लिए धन्यवाद, लेकिन मुझे UIWebview में वीडियो लोड करने की आवश्यकता है क्योंकि मैं उस दृश्य में विभिन्न फ़ाइल स्वरूप लोड कर रहा हूं। –

+1

आपके पास एक ही आकार का एक छिपी MPMoviePlayerController हो सकता है, और यदि उपयोगकर्ता एक वीडियो का चयन करता है, तो यदि आप कोई छवि चुनते हैं, तो आप खिलाड़ी को खेलते हैं और खेलते हैं, तो आप वीडियो को रोकते हैं और इसे छुपाते हैं। मैंने इसे डब्लूजीएसएन ऐप में किया - https://itunes.apple.com/gb/app/wgsn-365/id550174392?mt=8 - स्क्रीनशॉट देखें # 3 यह एक सामग्री दर्शक है जो पीडीएफ/छवियों के साथ वेबव्यू के माध्यम से व्यवहार्य है और एक MPMoviePlayerController के माध्यम से वीडियो शीर्ष – Daniel

+1

पर रखा MPMoviePlayerController मेरे लिए पूरी तरह से काम किया ... !!! –

1

आप base64 स्ट्रिंग के लिए अपने डेटा को बदलने और video टैग

NSString *base64String = [data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; 

NSString *str = [NSString stringWithFormat:@" \ 
        <div style=\"height:100%%;\"> \ 
        <p style=\"position: absolute; top: 50%%; left: 50%%; transform: translate(-50%%, -50%%)\"> \ 
        <video controls> \ 
        <source type=\"%@\" src=\"data:%@;base64,%@\"> \ 
        </video></p></div>", contentType, contentType, base64String]; 

[webView loadHTMLString:str baseURL:nil]; 

यहाँ data अपने कच्चे वीडियो डेटा है, contentType contentType स्ट्रिंग है साथ सफारी के एचटीएमएल क्षमता का उपयोग करने की आवश्यकता है।

+0

यह मेरे लिए काम नहीं करता – jose920405

+0

मुझे इस तरह की समस्याएं हैं –

+0

@ ब्रायनपोसास, यह बहुत बड़े वीडियो के लिए अपरिहार्य है, क्योंकि मैं सभी फ़ाइल डेटा को स्मृति में लोड करता हूं। लेकिन ऐसा लगता है कि वेबव्यू में वीडियो डेटा को संभालने का यही एकमात्र तरीका है। – malex

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