2009-10-24 26 views
5

मैं आईफोन विकास के लिए एक नौसिखिया हूं और अभी एक ऐसे अनुप्रयोग को विकसित करना शुरू कर दिया है जिसमें UITableView है जहां प्रत्येक सेल वेबव्यू के रूप में यूट्यूब वीडियो थंबनेल शामिल है। आईफोन पर यूट्यूब प्लेयर एम्बेड करने के लिए, मैंने कोड के फॉलोइंग टुकड़े का उपयोग किया है।UITableViewCell पर टैप किए जाने पर किसी iPhone अनुप्रयोग पर YouTube मूवी कैसे चलाएं?

- (void)embedYouTube:(NSString*)url frame:(CGRect)frame { 
NSString* embedHTML = @"\ 
    <html><head>\ 
<style type=\"text/css\">\ 
body {\ 
background-color: transparent;\ 
color: white;\ 
}\ 
</style>\ 
</head><body style=\"margin:0\">\ 
    <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \ 
width=\"%0.0f\" height=\"%0.0f\"></embed>\ 
    </body></html>"; 
NSString* html = [NSString stringWithFormat:embedHTML, url, frame.size.width, frame.size.height]; 
if(videoView == nil) { 
    videoView = [[UIWebView alloc] initWithFrame:frame]; 
    [self.view addSubview:videoView]; 
} 
[videoView loadHTMLString:html baseURL:nil]; 

}

अब जब कि मैं tableviewcell पर थंबनेल देख सकते हैं और एक बार मैं थंबनेल पर टैप करें, YouTube प्लेयर को खोलता है और फिल्म खेल सकते हैं।

मेरा थंबनेल सेल का केवल एक छोटा हिस्सा है और सेल के बाकी क्षेत्र में कुछ टेक्स्ट विवरण हैं। मेरी समस्या यह है कि मुझे फिल्म चलाने के लिए बिल्कुल थंबनेल पर टैप करना होगा। अगर मैं सेल पर कहीं और टैप करता हूं तो यह नहीं खेलेंगे क्योंकि मेरा थंबनेल पूरे सेल में विस्तार नहीं करता है।

क्या फिल्म को didSelectRowAtIndexPath में खेलने के लिए कोई तरीका नहीं है? मैंने कुछ चापों को जावास्क्रिप्ट का उपयोग करने का सुझाव दिया है लेकिन किसी को भी इस समस्या के लिए इसका उपयोग करने के सही तरीके से कोई विचार नहीं है।

अगर कोई मदद कर सकता है तो इसकी अत्यधिक सराहना करें।

+0

तो स्पष्ट होने के लिए, आप जानना चाहते हैं कि यूट्यूब मूवी प्लेबैक को कैसे नियंत्रित किया जाए? अधिक विशेष रूप से जब खेल रहे किसी के संदर्भ के बाहर क्लिक ईवेंट की तरह कुछ बनाते हैं? आपके त्वरित उत्तर के लिए – Spoike

उत्तर

3

मैं आपको YouTube APIs पर एक नज़र डालने का सुझाव देता हूं और यह पता लगाने की कोशिश करता हूं कि आपकी वास्तविक समस्या क्या है। लेकिन एक और अच्छा लिंक How To Play YouTube Videos Within an Application है। आशा है कि मैं आपकी मदद कर रहा हूं।

+0

thanx नाथन। असल में मैं उस लिंक से गुजर चुका हूं जिसे आपने दो दिन पहले पोस्ट किया था। मुझे यहाँ स्पष्ट होने दो। मुझे वीडियो चलाने में कोई समस्या नहीं है। जब मैं सेल पर कहीं और टैप करता हूं तो मुझे इसे खेलने की ज़रूरत है। यूट्यूब एपीआई ब्लॉग में भी, किसी ने इसका जवाब नहीं दिया है। – suranga

+0

@ सूरंगा: आपको अपना प्रश्न संपादित करना चाहिए और यह स्पष्ट करना चाहिए ताकि लोगों को तुरंत पता चल सके कि आपकी समस्या क्या है – Spoike

+0

@ सूरंगा: कृपया उस दूसरे लिंक पर एक नज़र डालें। –

0

यह शायद सबसे अच्छा समाधान नहीं है, लेकिन यह काम करता है:

//get your UIWebview in tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
//... 

videoView.mediaPlaybackRequiresUserAction = NO; 
[videoView loadHTMLString:[self generateHtmlEmbedYouTube] baseURL:nil]; 

Documentation

mediaPlaybackRequiresUserAction से:

एक बूलियन मान कि निर्धारित करता है एचटीएमएल 5 वीडियो चला सकते हैं या स्वचालित रूप से या उपयोगकर्ता कोपर आवश्यकता होती हैउन्हें खेलना शुरू करें।

इस समाधान के साथ अत्यधिक समस्या यह है कि आपको अपना UIWebView पुनः लोड करना होगा।

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