Profilok
[A laphoz társított funkció, Windows Media Format 11 SDKegy régi funkció. A Forrásolvasó és Fogadó írójafelülírta. Forrásolvasó és Fogadó író Windows 10-hez és Windows 11-hez lett optimalizálva. A Microsoft határozottan javasolja, hogy az új kód Forrásolvasó és Fogadó író használjon Windows Media Format 11 SDKhelyett, ha lehetséges. 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.]
A profil egy ASF-fájl konfigurációját leíró adatgyűjtemény. Egy profilnak legalább egyetlen stream konfigurációs beállításait kell tartalmaznia.
A profil streamadatai tartalmazzák a stream bitsebességét, pufferablakát és médiatulajdonságát. A hang- és videostreamadatok pontosan beírják, hogyan van konfigurálva az adathordozó a fájlban, beleértve azt is, hogy mely kodekek (ha vannak ilyenek) lesznek használva az adatok tömörítéséhez.
A profil a vele létrehozott fájlokban használt különböző ASF-fájlfunkciókkal kapcsolatos információkat is tartalmaz. Ezek közé tartozik a kölcsönös kizárási, stream priorizálási, sávszélesség-megosztási, valamint adategység-bővítmények.
A Windows Media Format SDK korábbi verziói előre konfigurált rendszerprofilokat adtak meg, amelyek általános fájltípusok létrehozására használhatók, vagy kissé módosultak az alkalmazás igényeinek megfelelően. A Windows Media 9 Sorozat kodekei nem támogatják a rendszerprofilokat. Ennek az az oka, hogy a "gyakori" fájltípusok száma exponenciálisan nőtt az új funkciók hozzáadásával. Várhatóan gyakorlatilag minden tartalomkészítőnek olyan igényei vannak, amelyek túlmutatnak a rendszerprofilok által biztosított egyszerű megoldásokon. A régi rendszerprofilokat továbbra is használhatja kiindulási helyként. További információ: Rendszerprofilok használata.
Minden írott fájlhoz meg kell adnia egy profilt az írónak. Az íróhoz használandó profilt IWMWriter::SetProfilemeghívásával adhatja meg.
A profiladatok számos különböző formában léteznek, amelyeket a Windows Media Format SDK használhat. A profiladatok többféleképpen is elérhetők. Ez zavart okozhat a profilok és a használatuk módjával kapcsolatban.
Az alábbi ábra a profiladatok SDK-ban való használatát mutatja be.
A profiladatok három különböző űrlapot tartalmaznak: egy alkalmazás profilobjektumában lévő adatokat, egy lemezen lévő XML-fájlt és egy ASF-fájl fejlécében lévő adatokat. Ezen adatformák mindegyike árnyékolt téglalapként jelenik meg a diagramon.
Profilobjektum adatai
Profil szerkesztésekor egy profilobjektumot használ, amely az összes profiladatot magában foglalja. Üres profilobjektumot a profilkezelő objektum használatával hozhat létre. A profilkezelő objektummal a meglévő profiladatokat is betöltheti egy profilobjektumba.
A profiladatok többségét a profil egyes részeit képviselő objektumok használatával kell hozzáadni és módosítani. Ezek közé tartoznak a streamkonfigurációs objektumok, a kölcsönös kizárási objektumok, a sávszélesség-megosztási objektumok és a stream-rangsorolási objektumok. Mindegyik objektumtípus létrehozható a profilobjektum metódusainak használatával. Ezeknek az objektumoknak a módosítása nem érinti a profilobjektumot, amíg a profilobjektumban nem használ metódust a másik objektum frissített adatainak belefoglalásához.
ADATOK XML-fájlban
A profiladatok a lemezen tárolódnak egy .prx fájlnévkiterjesztéssel rendelkező XML-fájl formájában. A Windows Media Format SDK része a rendszerprofilok nevű profilok gyűjteménye, amelyek az ASF-fájlok leggyakoribb típusait fedik le. A rendszerprofilok egy WMSysPr9.prx nevű fájlban vannak tárolva. (Vegye figyelembe, hogy ez a fájl valójában nem tartalmaz rendszerprofilokat a Windows Media 9 Series-hez, mert a rendszerprofilok fogalma már nem használatos.) Saját egyéni profilok mentésekor a saját fájljaiba kell mentenie őket.
A profilkezelő objektummal a profilobjektumból egy XML-szöveg sztringbe mentheti az adatokat. Ezután bármilyen fájl I/O-függvényt használhat, amellyel a sztringet lemezen lévő fájlba mentheti.
Adatok egy ASF-fájl fejlécében
Az író a profilból származó információkat használja az ASF-fájl adatszakaszába tartozó streamek létrehozásához. A profiladatok nagy része a fájl fejlécszakaszában lesz tárolva, amikor a fájl meg van írva. Lejátszáskor az olvasóobjektum (vagy a szinkron olvasóobjektum) hozzáférhet a fájl fejlécében található információkhoz. Ebben az esetben az olvasóobjektum létrehoz egy profilobjektumot, és feltölti a fejlécből származó adatokkal.
Ha a profiladatokat az olvasóval (vagy szinkron olvasóval) éri el, módosíthatja a profiladatokat, de ezeket a módosításokat nem alkalmazhatja az olvasóban lévő fájlra. Az olvasóban lévő fájl profiladatait alkalmazhatja egy író profiljára, hogy új fájlt hozzon létre ugyanazokkal a beállításokkal, mint az olvasóban lévő fájl. Ebben az esetben a profiladatokban a profil íróban való beállítása előtt végzett módosítások megjelennek az író által regisztrált profiladatokban.
Profilszerkesztő használata
AHelyett, hogy a Windows Media Format SDK-val hoz létre profilokat, használhatja a Profilszerkesztőt, amely a Windows Media Encoder része. A kódolási alkalmazásban használja a IWMProfileManager::LoadProfileByData metódust a mentett profil betöltéséhez. Bizonyos esetekben, például ha korlátozott számú, dinamikusan nem módosított profilt használ, célszerűbb lehet a Profilszerkesztővel létrehozni a profilokat.
A Profilszerkesztő használata esetén azonban nem ajánlott a "Videoméret: Ugyanaz, mint a videobemenet" beállítás használata. Ha bejelöli ezt a jelölőnégyzetet, a Profilszerkesztő létrehoz egy profilt, amelynek a videokimeneti magassága és szélessége nulla. Amikor a Windows Media Encoder találkozik ezekkel a profilokkal, a megfelelő értékeket állítja be a videobemenetének megfelelően. A Windows Media Format SDK írója azonban nem teszi ezt automatikusan, ezért gondoskodnia kell arról, hogy az alkalmazás beállítsa a videókeret méretét olyan esetekben, amikor a profil nem rendelkezik ilyenekkel.
Megjegyzés Egyes streamkonfigurációs elemek nincsenek tárolva a profilban. A profil adatai a kész ASF-fájl formátumát írják le. A bemeneti médiatulajdonságok és az íróobjektum által a kodekek konfigurálásához használt egyéb konfigurációs adatok nem kerülnek a profilba. Ez magában foglalja a IWMPropertyVault::SetProperty metódussal beállított összes tulajdonságot.
Kapcsolódó témakörök