Dela via


Fotosekvensläge

Med fotosekvensläget kan du fånga en sekvens med foton som svar på ett enda fotoklick på kameran. I det här läget skickar avbildningssystemet kontinuerligt buffertar till kameradrivrutinen för att fånga bilderna i en sekvens. Det här läget gör det också möjligt att ta foton från en tidsperiod före fotoklickning.

Fotosekvensåtgärd

En kameradrivrutin stöder KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE om den har möjlighet att sekvensera foton. Avbildningspipelinen startar en fotosekvens genom att skicka ned en KS_VideoControlFlag_StartPhotoSequenceCapture utlösare till fotoflödet. I det här läget måste drivrutinen börja skicka avbildningsbuffertar. Fotoflödet stoppar fotosekvensen genom att skicka ner KS_VideoControlFlag_StopPhotoSequenceCapture för att stänga av fotoströmmen. För varje slutfört foto skickas en ny buffert ned till drivrutinen så att den kan avbilda bildrutor i.

Avbildningspipelinen har en konfigurationsfas för fotosekvensläget där den konfigurerar antalet tidigare bildrutor som behövs för en viss fotosekvenssession. Under konfigurationsfasen måste drivrutinen ange det maximala antalet tidigare fotoramar som den stöder. Drivrutinen anger också hur många buffertar som behövs för att stödja det antal tidigare bildrutor som krävs.

Den utökade kontrollen , KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOTRIGGERTIME, skickar den faktiska tiden som användaren klickade på fotoutlösaren i kameraprogrammet för att ta fotosekvensen. Utan denna tid kommer drivrutinen inte att veta från vilken fotosekvensfotografering den ska börja returnera bildrutor när KS_VideoControlFlag_StartPhotoSequenceCapture-utlösaren anländer. Med denna kontroll förväntas drivrutinen att returnera det foto som ligger närmast den angivna utlösertiden.

Förhandling om antal bildrutor

Följande sekvens av åtgärder anger fotoläge och antal bildramar för kameradrivrutinen.

  1. Ett program anropar ett API för att förbereda avbildningssystemet och drivrutinen för en bildsekvensinsamling.

  2. Avbildningssystemet skickar en begäran om den utökade egenskapen 'Photo Mode' till drivrutinen, KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE med KSCAMERA_EXTENDEDPROP_PHOTOMODE_SEQUENCE satt i flaggorna, för att initiera övergången av drivrutinen till fotosekvensläge.

    1. Drivrutinen får det begärda antalet historikramar från programmet. Drivrutinen måste returnera antalet historikramar som den kan stödja tillsammans med det antal buffertar som behövs för att lagra historikramar.

    2. Drivrutinen måste uppdatera pinnens allokeringskravstruktur med antalet buffertar genom övergångsanropet för fotosekvensläge använda KsEdit.

    3. Drivrutinen ändrar sitt interna tillstånd till fotosekvensläge.

  3. Fångstsystemet övergår pinnen till KSSTATE_RUN och förser drivrutinen med det antal buffertar som efterfrågas för fotosekvensläge.

Kontrollera supportkrav

Stöd för följande utökade kontroller krävs för att en kameradrivrutin ska ha stöd för fotosekvensläge.