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, IMFMediaEngineoraz 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, w miarę możliwości, używał MediaPlayer, IMFMediaEngine i Audio/Video Capture na platformie Media Foundation zamiast DirectShow. 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.]
Utwórz obiekt źródłowy w taki sam sposób, jak w przypadku tworzenia innych obiektów osi czasu. Przed wstawieniem go do osi czasu należy jednak określić co najmniej następujące właściwości w źródle.
- Czas rozpoczęcia i zatrzymania względem osi czasu. Wywołaj metodę IAMTimelineObj::SetStartStop.
- Plik multimedialny do użycia jako źródło. Wywołaj metodę IAMTimelineSrc::SetMediaName z ciągiem wieloznakowym reprezentującym nazwę pliku.
- Czas uruchamiania i zatrzymywania multimediów, które są względne względem oryginalnego pliku. Wywołaj metodę IAMTimelineSrc::SetMediaTimes. Aby uzyskać więcej informacji na temat czasu multimediów, zobacz Time in DirectShow Editing Services.
W poniższym przykładzie klip źródłowy rozpoczyna się cztery sekundy po rozpoczęciu pliku. Czas trwania nośnika wynosi 10 sekund, czyli dwa razy dłuższy niż czas trwania osi czasu, co oznacza, że źródło będzie odtwarzane z dwukrotną prędkością. Stała JEDNOSTKA jest zdefiniowana jako 100000000 (10^7) i równa się jedna sekunda.
pSourceObj->SetStartStop(0, 50000000)
BSTR bstrFile = SysAllocStringLen(OLESTR("C:\\example.avi"), 15);
pSource->SetMediaName(bstrFile);
SysFreeString(bstrFile);
pSource->SetMediaTimes(40000000, 140000000);
Notatka
Obecnie des nie może jednocześnie renderować więcej niż 75 źródeł skompresowanych za pomocą koderów programu Video Compression Manager (VCM). Ponadto jeśli projekt jako całość zawiera więcej niż 75 takich źródeł, należy użyć dynamicznego ponownego połączenia lub DES nie będzie w stanie wyświetlić podglądu projektu. Aby uzyskać więcej informacji, zobacz IRenderEngine::SetDynamicReconnectLevel.
Aby uzyskać więcej informacji na temat źródeł, zobacz Praca ze źródłami.
Tematy pokrewne
-
konstruowanie osi czasu