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ą, windows Media Format 11 SDK, jest starszą funkcją. Został zastąpiony przez Źródło Odczytu i Zapis Nośnika. Czytnik źródeł i Rejestrator danych zostały zoptymalizowane pod kątem systemu Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał czytnika źródeł i modułu zapisywania zamiast zestawu SDK Windows Media Format 11, jeśli jest 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.]
W normalnych okolicznościach można po prostu przekazać writerowi nazwę pliku wyjściowego przy użyciu metody IWMWriter::SetOutputFilename, a obiekt writer automatycznie zapisze plik na dysku. W tym przypadku pisarz faktycznie tworzy i kontroluje obiekt ujścia plików dla piszącego, który obsługuje zapisywanie pliku na dysku. Obiekt ujścia pliku zapisywania steruje przepływem danych z obiektu zapisywania do pojedynczego pliku.
Możesz utworzyć własne odbiorniki plików, aby uzyskać większą kontrolę nad sposobem, w jaki odbiornik zapisuje plik. Możesz również uzyskać dostęp do domyślnego pliku docelowego zapisu utworzonego przez moduł zapisywania w odpowiedzi na wywołanie SetOutputFilename.
Tworzenie odbiorników plików
Aby utworzyć ujście pliku i dodać go do składnika zapisywania, wykonaj następujące kroki.
- Utwórz nowy ujście, wywołując funkcję WMCreateWriterFileSink.
- Podaj nazwę pliku ujścia, wywołując IWMWriterFileSink::Otwórz.
- Dodaj ujście pliku do składnika zapisywania, wywołując IWMWriterAdvanced::AddSink.
- Wykonaj pisanie w zwykły sposób.
- Po zakończeniu zapisywania, kanał automatycznie zamknie plik.
Wstrzymywanie i uruchamianie wyjść plików
Po rozpoczęciu operacji zapisu można zatrzymać zapisywanie w pliku wyjściowym, wywołując IWMWriterFileSink2::Stop.
Istnieje wiele potencjalnych powodów, dla których chcesz przestać pisać do zlewu. Jeśli na przykład rejestrujesz ze źródła na żywo, możesz zainteresować się tylko częścią zawartości.
Możesz wznowić zapisywanie w ujściu plików, wywołując IWMWriterFileSink2::Start. Zarówno Stop, jak i Start używają czasów prezentacji do kontrolowania w przybliżeniu momentu wykonania polecenia. Możesz użyć metod IWMWriterFileSink3, aby uzyskać większą kontrolę nad czasem uruchamiania i zatrzymywania.
Zamykanie ujść plików
Zwykle ujście pliku jest zamykane automatycznie. Jeśli zakończyłeś pisanie do ujścia, ale operacje zapisu na innych ujściach są kontynuowane, należy wyraźnie zamknąć ujście, aby zaoszczędzić zasoby. Aby zamknąć ujście pliku, wywołaj metodę IWMWriterFileSink2::Close.
Pobieranie statystyk ujścia
Rozmiar i czas trwania pliku dla otwartego sinka można uzyskać, wywołując odpowiednio IWMWriterFileSink2::GetFileSize i IWMWriterFileSink2::GetFileDuration.
Tematy pokrewne