2015-09-30 10 views
21

में लाइव फोटो कैप्चर करने के लिए मुझे लाइव फोटो कैप्चर करने के लिए कोई एपीआई नहीं मिल रहा है। क्या मैं कुछ भुल गया?एपीआई आईओएस 9

Apple release DOCs

लाइव तस्वीरें

लाइव तस्वीरें आईओएस 9 की एक नई सुविधा है कि उपयोगकर्ताओं को कब्जा करने के लिए और पारंपरिक फ़ोटो से अमीर संदर्भ के साथ उनके पसंदीदा क्षणों relive अनुमति देता है। जब उपयोगकर्ता शटर बटन दबाता है, तो कैमरा ऐप नियमित फ़ोटो के साथ ऑडियो और अतिरिक्त फ़्रेम सहित फ़ोटो के साथ और बाद में अधिक सामग्री को कैप्चर करता है। इन तस्वीरों के माध्यम से ब्राउज़ करते समय, उपयोगकर्ता उनके साथ बातचीत कर सकते हैं और सभी कैप्चर की गई सामग्री को वापस चला सकते हैं, जिससे फ़ोटो जीवन में आती हैं।

आईओएस 9.1 एपीआई प्रस्तुत करता है जो ऐप्स को लाइव फ़ोटो के प्लेबैक को शामिल करने के साथ-साथ साझा करने के लिए डेटा निर्यात करने की अनुमति देता है। PHImageManager ऑब्जेक्ट से PHLivePhoto ऑब्जेक्ट लाने के लिए फ़ोटो फ्रेमवर्क में नया समर्थन है, जिसका उपयोग में एक लाइव फोटो शामिल सभी डेटा का प्रतिनिधित्व करने के लिए किया जाता है। लाइव फोटो की सामग्री प्रदर्शित करने के लिए आप PHLivePhotoView ऑब्जेक्ट (फ़ोटोयूआई फ्रेमवर्क में परिभाषित ) का उपयोग कर सकते हैं। PHLivePhotoView व्यू छवि को प्रदर्शित करने का ख्याल रखता है, सभी उपयोगकर्ता इंटरैक्शन को संभालने और सामग्री को सामग्री को वापस चलाने के लिए दृश्य उपचार लागू करता है।

आप साझा करने के उद्देश्यों के लिए PHLivePhoto ऑब्जेक्ट के डेटा तक पहुंचने के लिए PHAssetResource का भी उपयोग कर सकते हैं। आप PHImageManager या UIImagePickerController का उपयोग करके उपयोगकर्ता की फोटो लाइब्रेरी में एक संपत्ति के लिए PHLivePhoto ऑब्जेक्ट का अनुरोध कर सकते हैं। यदि आपके पास साझाकरण एक्सटेंशन है, तो आप को NSItemProvider का उपयोग करके PHLivePhoto ऑब्जेक्ट प्राप्त कर सकते हैं। शेयर के प्राप्त करने वाले पक्ष पर, आप मूल रूप से प्रेषक द्वारा निर्यात की गई फ़ाइलों के सेट से PHLivePhoto ऑब्जेक्ट को फिर से बना सकते हैं।

मुख्य नोट के दौरान, उन्होंने उल्लेख किया कि फेसबुक लाइव फोटो का समर्थन करेगा, इसलिए मुझे संदेह होगा कि लाइव फोटो कैप्चर करने का एक तरीका होना चाहिए।

उत्तर

7

UIImagePickerController ऐसा लगता है कि यह लाइव फ़ोटो को कैप्चर करने की अनुमति देगा।

के साथ लाइव तस्वीरें

लाइव तस्वीरें काम करते हुए, समर्थित उपकरणों पर एक कैमरा ऐप विशेषता है एक तस्वीर को सक्षम करने न सिर्फ समय में एक ही पल होने के लिए लेकिन सिर्फ पहले और बाद में क्षणों से गति और ध्वनि शामिल करने के लिए इसका कब्जा एक PHLivePhoto ऑब्जेक्ट एक लाइव फोटो का प्रतिनिधित्व करता है, और PHLivePhotoView क्लास लाइव फोटो प्रदर्शित करने और इसकी सामग्री को वापस चलाने के लिए सिस्टम-मानक, इंटरैक्टिव यूजर इंटरफेस प्रदान करता है। लाइव तस्वीरें अभी भी तस्वीरें हैं। जब आप पर कब्जा करने के लिए किसी छवि पिकर नियंत्रक का उपयोग करते हैं या अभी भी छवियों को चुनते हैं (मीडिया टाइप्स सरणी में केवल kUTTypeImage प्रकार सहित), लाइव फ़ोटो के रूप में कैप्चर की गई संपत्तियां अभी भी पिकर में दिखाई देती हैं। हालांकि, जब उपयोगकर्ता एक संपत्ति चुनता है, तो आपके प्रतिनिधि ऑब्जेक्ट को केवल एक यूआईएममेज ऑब्जेक्ट प्राप्त होता है जिसमें लाइव फोटो का अभी भी चित्र प्रस्तुत होता है। जब उपयोगकर्ता पिकर के साथ लाइव फोटो कैप्चर या चुनता है तो पूर्ण गति और ध्वनि सामग्री प्राप्त करने के लिए, आपको मीडिया टाइप्स सरणी में kUTTypeImage और kUTTypeLivePhoto प्रकार दोनों शामिल करना होगा। अधिक जानकारी के लिए, UIImagePickerControllerLivePhoto को UIImagePickerControllerDelegate प्रोटोकॉल संदर्भ में देखें।

https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIImagePickerController_Class/index.html#//apple_ref/occ/cl/UIImagePickerController

+0

में उपलब्ध हैं? मुझे नहीं लगता कि यह दस्तावेज़ीकरण में स्पष्ट है। मैं इसे सोमवार को कार्यालय में आज़माउंगा ... अगर आप पहले पुष्टि कर सकते हैं, तो मैं आपके उत्तर को सही के रूप में चिह्नित करूंगा और आपको बक्षीस दूंगा। –

+0

उद्धृत सामग्री के बावजूद, मुझे कोई सबूत नहीं दिखता है कि UIImagePickerController वास्तव में उपयोगकर्ता को लाइव फोटो लेने की अनुमति देगा। – matt

0

प्रति एप्पल डॉक्टर के रूप में:

UIImagePickerControllerLivePhoto

चयनित या कब्जा कर लिया तस्वीर की लाइव फ़ोटो प्रतिनिधित्व।

ए लाइव फोटो एक तस्वीर है, जिसमें क्षणों से पहले और बाद में गति और ध्वनि शामिल है। संगत उपकरणों पर, कैमरा ऐप डिफ़ॉल्ट रूप से सभी फ़ोटो को लाइव फ़ोटो के रूप में कैप्चर करता है, लेकिन छवि पिकर नियंत्रक: didFinishPickingImage: editInfo: विधि का छवि पैरामीटर में अभी भी छवि प्रस्तुति शामिल है।

गति और प्रदर्शन (PHLivePhotoView वर्ग का प्रयोग करके) के लिए एक जीवित तस्वीर की आवाज़ सामग्री को प्राप्त करने के kUTTypeImage और अनुमति दी मीडिया प्रकार में kUTTypeLivePhoto पहचानकर्ता जब एक चित्र पिकर नियंत्रक को विन्यस्त शामिल हैं। जब उपयोगकर्ता चुनता है या लाइव फ़ोटो कैप्चर करता है, तो संपादनइन्फो शब्दकोश में UIImagePickerControllerLivePhoto कुंजी शामिल है, PHLivePhoto फ़ोटो के अनुरूप मान के रूप में प्रस्तुत करता है।

आईओएस 9.1 और बाद में उपलब्ध है।

// create an image picker controller instance 
    UIImagePickerController *picker = [[UIImagePickerController alloc]init]; 
    picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
    picker.allowsEditing = NO; 
    picker.delegate = self; 

    // make sure we include Live Photos (otherwise we'll only get UIImages) 
    NSArray *mediaTypes = @[(NSString *)kUTTypeImage, (NSString *)kUTTypeLivePhoto]; 
    picker.mediaTypes = mediaTypes; 

    // bring up the picker 
    [self presentViewController:picker animated:YES completion:nil]; 

और फिर

# pragma mark - UIImagePickerController Delegate 

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ 

// check if this is a Live Image, otherwise present a warning 
    PHLivePhoto *photo = [info objectForKey:UIImagePickerControllerLivePhoto]; 
    if (!photo) { 
     [self notLivePhotoWarning]; 
     return; 
    } 
// create a Live Photo View 
    PHLivePhotoView *photoView = [[PHLivePhotoView alloc]initWithFrame:rect]; 
    photoView.livePhoto = [info objectForKey:UIImagePickerControllerLivePhoto]; 

} 
+1

यह कोड ('picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;') फोटो गैलरी से चयन करने के लिए है। सवाल यह है कि कैमरे से सीधे कैप्चर कैसे करें। ऐसा संभव नहीं लगता है। –

-1

की लाइव तस्वीरें मैनुअल कब्जा के लिए कोई एपीआई (अर्थात, AVCapture एपीआई की पेशकश नियमित फोटो या वीडियो पर कब्जा करने के लिए प्रत्यक्ष नियंत्रण के अनुरूप कुछ भी नहीं है) नहीं है।

UIImagePickerController, जो आमतौर पर यूआई को एक फोटो या वीडियो कैप्चर करने की इजाजत देता है, आईओएस 9.1 या बाद में लाइव फोटो भी कैप्चर कर सकता है। लाइव फोटो कैप्चर की अनुमति देने के लिए, kUTTypeImage और kUTTypeLivePhoto दोनों को शामिल करने के लिए छवि पिकर नियंत्रक की mediaTypes संपत्ति सेट करें।

+0

आप यह कह सकते हैं, लेकिन ऐसा करने से वास्तव में लाइव फोटो कैप्चर की अनुमति नहीं मिलती है। – matt

1

आईओएस 9 में कोई प्यार है, लेकिन लेने और संपादन लाइव तस्वीरें के लिए एपीआई आप वास्तव में है कि UIImagePickerController लाइव तस्वीरें कैप्चर कर सकते हैं की कोशिश की आईओएस 10.

Here's a talk from WWDC about it all.