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.
Do konwertowania plików multimedialnych na format ASF można użyć koderów Windows Media. Aby korzystać z tych koderów, muszą być zarejestrowane w systemie.
Aby uzyskać informacje na temat rejestracji enkodera, zobacz instancjowanie enkodera MFT.
- przy użyciu obiektów aktywacji kodera
- wyliczenie kodera w systemach Windows 7 i nowszych
- Tematy pokrewne
Używanie obiektów aktywacji enkodera
Alternatywnie, zamiast używać interfejsu kodera IMFTransform (opisanego w Tworzeniu kodera przy użyciu CoCreateInstance), możesz utworzyć instancję obiektu aktywacji dla kodera. Obiekty aktywacji ułatwiają tworzenie kodera i program Media Foundation udostępnia następujące dwie funkcje dla tego podejścia:
- MFCreateWMAEncoderActivate w celu utworzenia instancji kodera audio Windows Media.
- MFCreateWMVEncoderActivate do instancjonowania kodera wideo Windows Media.
Obie te funkcje wymagają utworzenia typu nośnika docelowego i ustawienia właściwości kodowania przed wywołaniem tych funkcji. Jeśli aplikacja używa składników ASF warstwy potoku do kodowania pliku w formacie ASF i utworzyłeś oraz skonfigurowałeś ujścia multimediów ASF, możesz uzyskać ten zestaw informacji z ujścia multimediów ASF.
MFCreateWMAEncoderActivate i MFCreateWMVEncoderActivate ustalają typ wyjściowy kodera na typ nośnika określony przez aplikację.
Uwaga Jeśli używasz MFCreateWMAEncoderActivate i MFCreateWMVEncoderActivate można aktywować koder, wywołując IMFActivate::ActivateObject, ale nie można zmienić danych wejściowych i typów nośników wyjściowych kodera ani zmienić żadnego z właściwości kodowania.
Aby uzyskać więcej informacji na temat tworzenia obiektów programu Media Foundation przy użyciu obiektów aktywacji, zobacz Activation Objects.
Aby uzyskać typ mediów docelowych z odbiornika danych multimedialnych ASF
- Pobierz wskaźnik do wskaźnika IMFASFContentInfo wskaźnika ujścia multimediów ASF, wywołując IMFMediaSink::QueryInterface ujścia multimediów ASF i przekazując IID_IMFASFContentInfo jako identyfikator interfejsu.
- Pobierz obiekt profilu ASF skojarzony z obiektem ContentInfo.
- Wylicz strumienie w profilu, aby pobrać typ nośnika strumienia.
Aby uzyskać właściwości kodowania z odbiornika multimedialnego ASF
Jeśli skonfigurowałeś właściwości kodowania w ujściu multimediów (opisane w Ustawianie właściwości w ujściu pliku), możesz uzyskać odwołanie do magazynu właściwości ujścia, wywołując IMFMediaSink::QueryInterface na ujściu multimediów ASF i przekazując IID_IPropertyStore jako identyfikator interfejsu.
Jeśli masz wskaźnik do obiektu ContentInfo odbiornika, możesz wywołać IMFASFContentInfo::GetEncodingConfigurationPropertyStore, aby uzyskać odwołanie do sklepu właściwości odbiornika multimediów.
Upewnij się, że wszystkie właściwości kodowania ustawione na ujściu multimediów ASF są odzwierciedlane w magazynie właściwości przekazanym do MFCreateWMAEncoderActivate i MFCreateWMVEncoderActivate. Koder jest konfigurowany automatycznie na podstawie ustawień określonych przez aplikację.
Podczas tworzenia węzła przekształcenia w topologii kodowania można ustawić typ obiektu jako wskaźnik IMFActivate odebrany w tych dwóch wywołaniach. Po rozwiązaniu topologii sesja multimedialna używa obiektu aktywacji do utworzenia instancji kodera MFT.
Wyliczenie koderów w Windows 7 i późniejszych
W przypadku aplikacji działających w systemie Windows 7, oprócz MFTEnum, można wyliczyć kodery MFT, wywołując MFTEnumEx. Ta funkcja zwraca wskaźnik do obiektu aktywacji kodera MFT. Struktura funkcji jest bardzo podobna do MFTEnum opisanych powyżej, z wyjątkiem tego, że MFTEnumExzwraca tablicę wskaźników IMFActivate dla koderów MFT, które spełniają kryteria wyszukiwania.
Tematy pokrewne