Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
[Funkcja skojarzona z tą stroną, DirectShow, jest starszą funkcją. Został zastąpiony przez MediaPlayer, IMFMediaEnginei Audio/Video Capture w Media Foundation. Te funkcje zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał MediaPlayer, IMFMediaEngine i Audio/Video Capture w ramach Media Foundation, zamiast DirectShow, jeśli to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]
[Ten interfejs API nie jest obsługiwany i może zostać zmieniony lub niedostępny w przyszłości.]
Grupy, kompozycje i ścieżki to warstwy pośrednie między linią czasu a klipami źródłowymi. Są one rozróżniane przez typ obiektu, który może zawierać.
- Ścieżki zawierają obiekty źródłowe.
- Kompozycje zawierają utwory i inne kompozycje, ale nie obiekty źródłowe.
- Grupy to kompozycje najwyższego poziomu. Grupy zawierają kompozycje i utwory, ale kompozycje nie mogą zawierać grup.
- Wirtualna ścieżka to dowolny obiekt, który może znajdować się wewnątrz kompozycji lub grupy. Obejmuje to utwory i kompozycje.
Te obiekty uwidaczniają następujące interfejsy:
| Interfejs | Ujawnione przez |
|---|---|
| IAMTimelineTrack | Ścieżki |
| IAMTimelineVirtualTrack | Utwory, kompozycje |
| IAMTimelineComp | Kompozycje, grupy |
| IAMTimelineGroup | Grupy |
Te interfejsy zawierają metody dodawania obiektów do osi czasu.
- IAMTimeline::AddGroup: Wstawia grupę do osi czasu.
- IAMTimelineComp::VTrackInsBefore: Wstawia wirtualną ścieżkę do kompozycji lub grupy.
- IAMTimelineTrack::SrcAdd: Wstawia źródło do ścieżki.
Na przykład poniższy kod wstawia nową ścieżkę do grupy. Jak pokazano w poprzedniej tabeli, grupa jest uważana za rodzaj kompozycji, a utwór jest rodzajem wirtualnego toru. W związku z tym, aby wstawić ścieżkę do grupy, należy wysłać zapytanie do grupy dla jej interfejsu IAMTimelineComp i wywołać metodę IAMTimelineComp::VTrackInsBefore.
IAMTimelineGroup *pGroup;
// Create a new group (not shown).
IAMTimelineComp *pComp = NULL;
IAMTimelineObj *pTrackObj = NULL;
pTL->CreateEmptyNode(&pTrackObj, TIMELINE_MAJOR_TYPE_TRACK);
pGroup->QueryInterface(IID_IAMTimelineComp, (void **)&pComp);
pComp->VTrackInsBefore(pTrackObj, 0);
Drugi parametr VTrackInsBefore określa priorytet ścieżki wirtualnej. Poziomy priorytetów zaczynają się od zera. Jeśli określisz wartość –1, ścieżka wirtualna zostanie wstawiona na końcu listy priorytetów. Jeśli określisz wartość, w której istnieje już ścieżka wirtualna, wszystko od tego momentu przechodzi w dół listy o jeden poziom priorytetu. Nie należy wstawiać ścieżki wirtualnej o priorytcie większym niż liczba ścieżek wirtualnych, ponieważ spowoduje to niezdefiniowane zachowanie.
Aby trwale usunąć obiekt z osi czasu, wywołaj metodę IAMTimelineObj::RemoveAll w obiekcie. Ta metoda usuwa obiekt i wszystkie jego elementy podrzędne. Aby usunąć obiekt w celu ponownego umieszczenia go w innym miejscu na osi czasu, wywołaj metodę IAMTimelineObj::Remove. W przeciwieństwie do RemoveAllta metoda nie usuwa elementów podrzędnych obiektu. Aby usunąć wszystko z osi czasu, wywołaj metodę IAMTimeline::ClearAllGroups.
Tematy pokrewne
-
konstruowanie osi czasu