Kölcsönös kizárás
[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.]
Minden ASF-fájl egy vagy több streamet tartalmaz, amelyek mindegyike digitális médiaadatokat tartalmaz. Normál körülmények között minden stream egyetlen kimenethez van társítva. Lejátszáskor az olvasóobjektum mintákat biztosít az egyes kimenetekhez. Így alapértelmezés szerint az ASF-fájlban lévő összes streamet az olvasó kézbesíti lejátszáskor.
Vannak olyan helyzetek, amikor nem szeretné, hogy minden stream az ügyfélnek legyen kézbesítve. Ha például öt hangstreamet tartalmazó videofájlt hoz létre, amely mindegyike öt nyelvhez tartozik, akkor egyszerre csak egyet szeretne kézbesíteni. A kölcsönös kizárás a Windows Media Format SDK egyik funkciója, amely lehetővé teszi, hogy több egymást kölcsönösen kizáró streamet adjon meg, amelyek mindegyike azonos kimenetnek felel meg.
A kölcsönös kizárás a fájl létrehozásához használt profilban van definiálva. A kölcsönös kizárást kölcsönös kizárási objektumok használatával konfigurálhatja egy profilban. Egyenként adhat streameket a kölcsönös kizárási objektumhoz, beállíthatja a típust, és belefoglalhatja az objektumot a profilba.
A Windows Media Format SDK a kölcsönös kizárás négy típusát ismeri fel:
- Bitsebesség
- Nyelv
- Bemutató
- Ismeretlen
Kölcsönös kizárás bitsebesség szerint
A bitsebesség kölcsönös kizárása a kölcsönös kizárás egy speciális típusa, amelyet gyakrabban többbites (MBR) kölcsönös kizárásnak neveznek. Az MBR kölcsönös kizárása számos streamet tartalmaz, amelyek mindegyike ugyanabból a bemenetből származik, de különböző bitsebességek szerint vannak kódolva. Ha egy fájlt MBR-vel játszik le, az olvasó a rendelkezésre álló sávszélesség alapján határozza meg a legjobban használható streamet.
A Windows Media Format SDK támogatja az MBR-t hang- és videostreamekhez. Az SDK támogatja a több videóméretű MBR nevű MBR-videó egy speciális típusát is. Ez olyan, mint a normál MBR videó, azzal a különbségtel, hogy az egyes streamek különböző méretűek lehetnek. Előfordulhat például, hogy egyes streamek alapértelmezett 320 x 240-es videómérettel, mások pedig magasabb bitsebességgel és 640 x 480 videómérettel rendelkeznek.
Kölcsönös kizárás nyelv szerint
A nyelvi alapú kölcsönös kizárást több nyelven rögzített tartalommal (általában hanggal) való használatra tervezték. A nyelvi alapú kölcsönös kizárás számos olyan streamet tartalmaz, amelyek egyedi bemenetekből származnak. Minden bemenet ugyanaz a tartalom, de más nyelven.
Ahhoz, hogy a nyelv kölcsönös kizárása működjön, az olvasóalkalmazásnak tartalmaznia kell a megfelelő nyelv kiválasztásához szükséges logikát. Ha ASF-fájlok lejátszására ír egy alkalmazást, és nyelvi alapú kölcsönös kizárással szeretné támogatni a fájlokat, a lejátszás megkezdése előtt ki kell választania a megfelelő streamet.
Kölcsönös kizárás bemutató szerint
A bemutatóalapú kölcsönös kizárás biztosítja az azonos tartalommal kódolt, eltérő méretarányú videóstreamek támogatását. Ez általában akkor használatos, ha a videoképet levéldobozos verzióban (16:9-es képarány) és televíziós képernyőkhöz (4:3-as képarány) formázza.
A bemutató lejátszáshoz való kiválasztását leggyakrabban a felhasználó határozza meg. Ha ASF-fájlok lejátszására ír egy alkalmazást, és a bemutatóalapú kölcsönös kizárással szeretné támogatni a fájlokat, akkor a felhasználónak meg kell adnia a bemutatótípus kiválasztásának lehetőségét a megtekintéshez.
Ismeretlen kölcsönös kizárás
A kölcsönös kizárást a kívánt feltételek alapján hozhatja létre. Minden egyéni kölcsönös kizárási típust az ismeretlen típussal kell létrehozni.
Speciális kölcsönös kizárási funkciók
A kölcsönös kizárást arra is használhatja, hogy streameket rendeljen egymástól kölcsönösen kizáró csoportokhoz. Előfordulhat például, hogy több nyelven szeretne hangstreameket létrehozni, és mindegyikhez másik videostreamet rendelni. Kölcsönös kizárással csoportosíthatja az egyes hangstreameket a megfelelő videostreamdel, és kölcsönösen kizárhatja az összes csoportot.
Az olvasó automatikusan kiválasztja a streameket az összes kölcsönös kizáráshoz. Az MBR és a nyelvi alapú kölcsönös kizárás kivételével minden kölcsönös kizárási típus esetében az olvasó mindig kiválasztja az alapértelmezett streamet, amely a profil kölcsönös kizárási objektumához hozzáadott első stream. Az MBR esetében az olvasó kiválasztja azt a streamet, amely a lejátszáskor a legjobban megfelel a rendelkezésre álló sávszélességnek. Ha nem szeretné használni az alapértelmezett streamet, a fájl olvasása előtt manuálisan állíthatja be a stream kiválasztását.
A manuális streamkijelölés a teljes fájlra vonatkozik. Nehézségek merülhetnek fel, ha ugyanabban a fájlban különböző típusok kölcsönös kizárása történik. Egy fájl például bitsebesség-alapú kölcsönös kizárást és egyéni kölcsönös kizárást is tartalmazhat. Ha az egyéni kölcsönös kizárás alapértelmezettétől eltérő streamet szeretne kiválasztani, manuális streamkijelölést kell használnia. Ha azonban manuális streamkijelölést használ, az olvasó nem fogja automatikusan kiválasztani a többbites sebességű streamet. Ha egy fájlban több kölcsönös kizárási típust szeretne támogatni, az alkalmazásnak erre a véglegességre kell terveznie. Ez általában azt jelenti, hogy saját streamkijelölési rutinokat hoz létre a kölcsönös kizárás normál automatikus típusaihoz.
Kapcsolódó témakörök