Tworzę aplikację na iPhone'a, która nagrywa wideo. Tworzę UIImagePickerController
, ograniczam go do nagrywania wideo, a następnie programowo proszę kamerę o uruchomienie VideoCapture. Niestety, gdy uruchamiam aplikację, w konsoli pojawiają się następujące elementy;
"UIImagePickerController: ignoring request to start video capture; camera is not yet ready."
Jak sobie z tym poradzić?
2 odpowiedzi
Najbardziej prawdopodobnym powodem wydaje się być brak wymaganego klucza w pliku info.plist. Musisz skonfigurować UIRequiredDeviceCapabilities
. Ponadto należy zaimplementować obiekt delegata. Szczegółowe informacje znajdziesz na http://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/CameraAndPhotoLib_TopicsForIOS/Articles/TakingPicturesAndMovies.html#//apple_ref/doc/uid/TP40010406.
Hth,
Akshay
Nie ma wywołania zwrotnego dla pełnomocnika, który informuje, kiedy kamera jest gotowa. Próbowałem tego, ale bez powodzenia, nadal twój błąd:
if ([UIImagePickerController isCameraDeviceAvailable:[picker cameraDevice]]) {
[picker takePicture];
}
else {
NSLog(@"Camera not ready");
}
Zadzwoniłem do zrobienia zdjęcia po opóźnieniu 1,0, 1,5, 2,0 sekund. Moje obserwacje:
Przy 1,0 s: robi zdjęcie, ale na ekranie nie widać pełnego zamknięcia migawki. Przy 1,5 s: widać, że migawka zamyka się bardzo mało. Przy 2,0 s: ładuje kamerę, pokazuje obraz na ekranie, a następnie robi zdjęcie.
Więc możesz użyć czegoś między 1,75 a 2,25. Kod, którego użyłem:
[picker performSelector:@selector(takePicture) withObject:nil afterDelay:2.0];
Podobne pytania
Powiązane pytania
Nowe pytania
iphone
NIE używaj tego znacznika, chyba że adresujesz konkretnie iPhone'a i / lub iPoda touch firmy Apple. W przypadku pytań niezależnych od sprzętu użyj tagu [ios]. Więcej tagów do rozważenia to [xcode] (ale tylko jeśli pytanie dotyczy samego IDE), [swift], [objective-c] lub [cocoa-touch] (ale nie [cocoa]). Proszę powstrzymać się od pytań dotyczących iTunes App Store lub iTunes Connect. Jeśli używasz języka C #, oznacz tagiem [mono].