2012-10-03 7 views
5

Próbuję ustawić rozdzielczość aparatu do sesji przechwytywania przy użyciu to:MAC OS X: Ustaw rozdzielczość kamery zewnętrznej USB z AVCaptureSession za sessionPreset nie działa

[session setSessionPreset:AVCaptureSessionPresetLow]; // or any others resolutions 

To nie wydaje się żadnej różnicy . Zawsze wykorzystuje najwyższą rozdzielczość, jaką może zaoferować aparat. Jest to kamera USB zgodna z UVC i nie została wyprodukowana przez firmę Apple.

Pytanie: Czy setSessionPreset może być zastosowany do zewnętrznej kamery USB innej niż Apple? Lub moim problemem jest coś innego?

Edit: Próbowałem również ten test:

if ([session canSetSessionPreset:AVCaptureSessionPresetLow]) 
{ 
    NSLog(@"can presetlow"); // this part got called. 
    [session beginConfiguration]; 
    session.sessionPreset = AVCaptureSessionPresetLow; 
    [session commitConfiguration]; 
} 
else 
{ 
    NSLog(@"no, can't presetlow"); 
} 

Bounty pytanie: Jak ustawić rozdzielczość kamery w tym przypadku?

+0

Jakiej kamery używasz, w szczególności? –

+0

Brak nazwy marki ... Jedna z tych z serwisu eBay. – user523234

+0

moje zalecenie: zacznij od aparatu, który jest znany z robienia tego, co chcesz, jeśli masz środki –

Odpowiedz

2

Może nie być to możliwe, w zależności od aparatu. Kompatybilność z UVC nie oznacza, że ​​wszystkie funkcje są obsługiwane.

http://www.mac-compatible-web-cam.com/?ID=McRmr2

obejście, w zależności od zastosowania, może być do podjęcia obraz o wysokiej rozdzielczości i przekształcić ją w niższych res w kodzie.

+0

robiłem przechwytywania i konwersji go do niższej rozdzielczości. Ale ze względu na naturę aplikacji starałem się unikać tego procesu w jak największym stopniu. – user523234