Fájl kimenetek használata
[A laphoz társított funkció, Windows Media Format 11 SDKegy régi funkció. Az Forrásolvasót és az Fogadóíróthelyettesítette. Forrásolvasó és Kimeneti író Windows 10-hez és Windows 11-hez lett optimalizálva. A Microsoft határozottan javasolja, hogy az új kód, amikor csak lehet, a Source Reader és a Sink Writer használja a Windows Media Format 11 SDKhelyett. A Microsoft javasolja, hogy az örökölt API-kat használó meglévő kódot át kell írni az új API-k használatára, ha lehetséges.]
Normál körülmények között egyszerűen átadhat egy kimeneti fájlnevet az írónak a IWMWriter::SetOutputFilename metódussal, és az íróobjektum automatikusan lemezre írja a fájlt. Ebben az esetben az író valójában létrehoz és szabályoz egy írófájl-fogadó objektumot, amely kezeli a fájl lemezre írását. Az írófájl fogadó objektuma vezérli az adatáramlást az íróobjektumból egyetlen fájlba.
Létrehozhat saját fájlsüllyesztőket, hogy jobban szabályozhassa, hogyan írja a fogadó a fájlt. Elérheti az író által a SetOutputFilename hívására válaszolva létrehozott alapértelmezett írófájl-célhelyet is.
Fájl végpont létrehozása
A fájlelfoglaló létrehozásához és az íróhoz való hozzáadásához hajtsa végre az alábbi lépéseket.
- Hozzon létre egy új fogadót a WMCreateWriterFileSink függvény meghívásával.
- Adja meg a fogadó fájlnevét az IWMWriterFileSink::Openmeghívásával.
- Adja hozzá a fájl fogadót az íróhoz a IWMWriterAdvanced::AddSinkmeghívásával.
- Végezze el az írást a szokásos módon.
- Az írás befejezése után a folyamat automatikusan bezárja a fájlt.
Fájlgyűjtők leállítása és újraindítása
Az írási műveletek megkezdése után a IWMWriterFileSink2::Stopmeghívásával leállíthatja a fájl fogadóba való írást.
Számos lehetséges oka lehet annak, hogy szeretné abbahagyni az írást egy nyelőbe. Ha például élő forrásból készít felvételt, előfordulhat, hogy csak bizonyos tartalmak érdeklik.
Folytathatja az írást egy fájl fogadóba, ha meghívja IWMWriterFileSink2::Start. Stop és Start a bemutatási idők használatával szabályozzák a parancs végrehajtásának körülbelüli idejét. Az IWMWriterFileSink3 metódusokkal jobban szabályozhatja a kezdési és leállítási időpontokat.
Fájl kimenetek lezárása
A fájlelfoglaló általában automatikusan bezárul. Ha befejezte az írást egy kimenő csatornába, de a más kimenő csatornákba való írási műveletek folytatódnak, kifejezetten zárja be a csatornát az erőforrások megőrzése érdekében. Egy fájlfolyam bezárásához hívja meg a(z) IWMWriterFileSink2::Close.
Fogadó statisztikáinak lekérése
A nyitott csatorna fájlméretét és időtartamát a IWMWriterFileSink2::GetFileSize és a IWMWriterFileSink2::GetFileDuration meghívásával szerezheti be.
Kapcsolódó témakörök