2012-10-01 10 views
8

शुरू कर मेरे ऐप में मैं बनाया MPMoviePlayerController का उदाहरण, एक ब्लैक बॉक्स के रूप में बाहर शुरू होता है इस तरह लग रही है (क्योंकि वीडियो ब्लैक आउट शुरू होता है और में fades):MPMoviePlayerController छवि

enter image description here

हालांकि मैं envisioning था कुछ अधिक उपयोगकर्ता के अनुकूल इस तरह, एक झलक छवि के साथ, नीचे दिए गए उदाहरण की तरह:

enter image description here

एक mockup है कि मैं बनाया है, लेकिन कैमराल में वीडियो संदेश ऐप में भेजे गए रोल और वीडियो उस तीर का उपयोग करते हैं। स्टॉक आईओएस प्ले तीर का उपयोग करने के लिए मुझे किस वर्ग को लागू करने की आवश्यकता है?

उत्तर

6

यह MPMoviePlayerController की thumbnailImageAtTime:timeOption: विधि के लिए कुछ की तरह लग रहा है, तो आप समय आप के लिए एक थंबनेल निकालते हैं और वीडियो के शीर्ष पर एक UIImageView प्रदर्शित करने के लिए उस छवि का उपयोग करना चाहते हैं में पास करना चाहिए।

एक बार जब आपका थंबनेल हो जाए तो आप UIImageView बनाते हैं और छवि को थंबनेल पर सेट करते हैं और सुनिश्चित करते हैं कि आप userInteractionsEnabledYES पर सेट करें। मूवी प्लेयर को कवर करने के लिए इस छवि दृश्य के फ्रेम को सेट करना सुनिश्चित करें।

अब आप उस छवि दृश्य पर UITapGestureRecognizer बना सकते हैं जो एक विधि को ट्रिगर करेगा। यह विधि तब आपके MPMoviePlayerController ऑब्जेक्ट की play विधि को आमंत्रित करती है।

-(void)viewDidLoad{ 
    [...] 

    UIImage *thumbnail = [moviePlayer thumbnailImageAtTime:5.0 
               timeOption:MPMovieTimeOptionNearestKeyFrame]; 

    UIImageView *iv = [[UIImageView alloc] initWithImage:thumbnail]; 
    iv.userInteractionEnabled = YES; 
    iv.frame = moviePlayer.frame; 
    [self.view addSubview:iv]; 
    [iv release]; 

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)]; 
    tap.numberOfTapsRequired = 1; 
    [iv addGestureRecognizer:tap]; 
    [tap release]; 

    [...] 
} 


- (void)handleTap:(UITapGestureRecognizer *)gesture{ 
    iv.hidden = YES; 
    [moviePlayer play]; 
} 

कृपया ध्यान दें कि प्ले बटन तो Photoshop में एक प्ले बटन बनाने के लिए, और थंबनेल छवि दृश्य के शीर्ष पर इस जोड़ने के लिए, उस छवि को देखने के लिए इशारा पहचानकर्ता देते हैं और सुनिश्चित करें कि आप दोनों छवि विचारों को छिपाने बनाने चाहते हैं जब आप अपना वीडियो खेलना शुरू करते हैं।

आप UIButton का उपयोग अन्यथा प्ले छवि पर सेट छवि के साथ कर सकते हैं, तो आपको UIGestureRecognizer की आवश्यकता नहीं होगी।

+0

में भी जोड़ने के लिए इतना आसान खेल तीर के बारे में क्या? क्या यह 'UIImageView' पर दिखाया गया है? साथ ही, मैंने आपके द्वारा उल्लिखित उपयोगकर्ता इंटरैक्शन को सक्षम करने के लिए 'UIImageView' कैसे सेट किया है? – inorganik

+0

हां, आपके मामले में यह है। आपकी पूर्वावलोकन छवि एक जैसी नहीं है। – Daniel

+0

आपने अभी भी मेरे प्रश्न का उत्तर नहीं दिया है। मैं प्ले एरो कैसे प्राप्त करूं जिसका मैंने एक उदाहरण दिया, और न ही आपने बताया है कि आप "उपयोगकर्ता इंटरैक्शन को सक्षम करने के लिए छवि दृश्य कैसे सेट कर सकते हैं"। सभी थंबनेल विधि एक छवि लेती है, मेरे पास एक छवि है, यह समस्या नहीं है। कृपया पुन: प्रयास करें। – inorganik

0

आपको वेब दृश्य में एचटीएमएल 5 <video> टैग में अपने वीडियो को एम्बेड करके यह तीर प्राप्त होगा।

वास्तविक कार्यान्वयन के लिए, इस Play embedded video in UIWebView with HTML5 जैसे उत्तरों देखें।

0

केवल यूआईबटन का उपयोग करने के बारे में क्या? इसमें एक अच्छी पृष्ठभूमि छवि हो सकती है, उस पर क्लिक करें, और इसे मूवी प्लेयर के पीछे ले जाएं या बटन को भी हटा दें। कोड