रूप @djromero ने कहा कि AVFoundation
का उपयोग करके एक समाधान है (लेकिन नहींबजाय UIImagePickerController
की। तुम बस AVFoundation
का उपयोग एक अधिसूचना वापस पाने के लिए)। UIImagePickerController
प्रस्तुति के बाद takePicture
बुला (मैं कहाँ मिल गया संदेश 'कैमरा तैयार नहीं है' द्वारा
- (void)cameraIsReady:(NSNotification *)notification
{
NSLog(@"Camera is ready...");
// Whatever
}
मैं सिर्फ यह परीक्षण किया है:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(cameraIsReady:)
name:AVCaptureSessionDidStartRunningNotification object:nil];
और फिर, एक बार कैमरा तैयार है तो आप अपनी सूचना मिल गया) और मेरे अधिसूचना कॉलबैक के अंदर, जहां यह एक आकर्षण की तरह काम करता था।
साइड-टिप्पणी:
[camera isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]
हमेशा Yes
देता है क्योंकि यह केवल जांच करता है कि वहाँ एक कैमरा उपकरण उपलब्ध है। वास्तव में, ऐप्पल अनुशंसा करता है कि आपको हमेशा यह जांचना होगा कि यह Yes
लौटाता है और नियंत्रक को प्रारंभ करने और प्रस्तुत करने का प्रयास करने से पहले आपके पास एक गैर-शून्य प्रतिनिधि (dismiss
मानक इंटरफ़ेस के माध्यम से पिकर प्रदान करने के लिए) प्रदान करने के लिए)।
http://stackoverflow.com/questions/6817920/recored-video-using-uiimagepickercontroller में इसी प्रकार के प्रश्न - चयनित उत्तर गलत है, लेकिन वहाँ एक और जवाब है जो देरी जोड़ने के बारे में बात करता है। यह शायद एक अच्छा प्रारंभिक बिंदु है। – Tass
इसके अलावा, http://stackoverflow.com/questions/4377303/uiimagepickercontroller-camera-not-ready - ऐसा लगता है कि कैमरा तैयार नहीं होने पर एक रिटर्न कोड है। परिणाम जांचें, प्रतीक्षा करें, और पुनः प्रयास करें। – Tass
मुझे यकीन है कि देरी एकमात्र रास्ता नहीं है, हालांकि ऐसा लगता है। निश्चित रूप से एक बेहतर समाधान है ... –