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ć?

4
OXXY 25 lipiec 2011, 18:47

2 odpowiedzi

Najlepsza odpowiedź

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

1
Akshay 1 sierpień 2011, 12:34
Thx dużo za referencje, które podajesz nie wiem jak ci podziękować thx thx thx
 – 
OXXY
8 sierpień 2011, 12:38

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];
3
Bushra Shahid 1 sierpień 2011, 12:43
Nie ma za co. Chociaż odpowiedź, którą wybrałeś, nie dotyczy Twojego problemu (sprawdziłem to), nadal wybrałeś to jako odpowiedź. To trochę zniechęcające
 – 
Bushra Shahid
8 sierpień 2011, 13:07
Dlaczego tak mówisz?? odpowiedzią jest przykładowy kod z apple developer.apple.com/ library/ios/samplecode/AVCam/AVCam.zip możesz go znaleźć tutaj. Zapewnia mi program nagrany wideo i przechwytywanie nieruchomych obrazów, a teraz studiuję kod, to będzie trochę z ciebie, jeśli pomożesz ja w nauce :)
 – 
OXXY
9 sierpień 2011, 17:00
UIRquiredDeviceCapabilities pozwala w zasadzie sprawdzić, czy Twoje urządzenie ma w ogóle aparat, co nie było Twoim pierwotnym problemem. Twoje urządzenie miało aparat, po prostu nie było jeszcze gotowe
 – 
Bushra Shahid
10 sierpień 2011, 09:58
Czy mogę porozmawiać z tobą na czacie? Proszę umówić się na spotkanie, jeśli to możliwe?
 – 
OXXY
10 sierpień 2011, 11:43
Porozmawiaj o moim problemie, jeśli nie kopałeś i chcę cię przeprosić :)
 – 
OXXY
10 sierpień 2011, 12:01