Megosztás a következőn keresztül:


Forrásolvasó

A Forrásolvasó a Media Session és a Microsoft Media Foundation folyamatának használata a médiaadatok feldolgozásához.

Miért érdemes használni a Forrásolvasót?

A Media Foundation egy lejátszásra optimalizált folyamatot biztosít. A folyamat teljes körű, ami azt jelenti, hogy a forrásból (például egy videofájlból) származó adatfolyamot kezeli egészen a célig (például a grafikus megjelenítésig). Ha azonban a folyamat során szeretné olvasni vagy módosítani az adatokat, egyéni beépülő modult kell írnia. Ehhez a Media Foundation folyamatának meglehetősen mély ismerete szükséges. Bizonyos feladatok esetében az új beépülő modul létrehozása túl nagy többletterhelést jelent. A forrásolvasót ilyen típusú helyzetekre tervezték, amikor a nyers adatokat a teljes folyamat terhelése nélkül szeretné lekérni egy forrásból.

A forrásolvasó belsőleg egy médiaforrásra mutató mutatót tart. A médiaforrás egy Media Foundation-objektum, amely médiaadatokat hoz létre külső forrásból, például médiafájlból vagy videorögzítési eszközből. A forrásolvasó kezeli a médiaforráshoz intézett összes metódushívást. (További információ a médiaforrásokról: Médiaforrások.)

Ha a médiaforrás tömörített adatokat szolgáltat, a forrásolvasóval dekódolhatja az adatokat. Ebben az esetben a forrásolvasó betölti a megfelelő dekódert, és kezeli a médiaforrás és a dekóder közötti adatfolyamot. A forrásolvasó korlátozott videófeldolgozást is végezhet: a YUV-ról RGB-32-re való színkonvertálást és a szoftveres deinterlacingot, bár ezek a műveletek nem ajánlottak valós idejű videómegjelenítéshez. Az alábbi képen ez a folyamat látható.

forrásolvasó diagramja

A forrásolvasó nem küldi el az adatokat célhelyre; az alkalmazáson múlik az adatok felhasználása. A forrásolvasó például elolvashat egy videófájlt, de nem jeleníti meg a videót a képernyőn. Emellett a forrásolvasó nem kezeli a bemutató óráját, nem kezeli az időzítéssel kapcsolatos problémákat, és nem szinkronizálja a videót a hanggal.

Érdemes lehet a forrásolvasót használni a következő esetekben:

  • Adatokat szeretne lekérni egy médiafájlból anélkül, hogy a mögöttes fájlstruktúra miatt kellene aggódnia.
  • Adatokat szeretne lekérni egy hang- vagy videorögzítési eszközről.
  • Az adatfeldolgozási feladatok nem időérzékenyek, vagy nincs szükség bemutatóóra használatára.
  • Már rendelkezik olyan médiafolyamatokkal, amelyek nem a Media Foundationen alapulnak, és a Media Foundation médiaforrásait saját folyamatába szeretné beépíteni.

A forrásolvasó nem ajánlott a következő helyzetekben:

  • Védett tartalom esetén. A forrásolvasó nem támogatja a digitális tartalomvédelem (DRM) használatát.
  • Ha érdeklik a mögöttes fájlstruktúra részletei. A forrásolvasó elrejti ezt a részlettípust.

Ebben a szakaszban

Téma Leírás
Médiaadatok feldolgozása a Forrásolvasóval
Ez a témakör azt ismerteti, hogyan használható a Forrásolvasó a médiaadatok feldolgozására.
Forrásolvasó használata aszinkron módban
Ez a témakör azt ismerteti, hogyan használható a Forrásolvasó aszinkron módban.
Oktatóanyag: Hang dekódolása
Ez az oktatóanyag bemutatja, hogyan kódolhatja a médiafájlból származó hangokat a Forrásolvasóval, és hogyan írhatja a hangot EGY WAVE-fájlba.

 

Media Foundation architektúrája

Media Foundation programozási útmutatója

IMFSourceReader