Exempelprogram för Windows Media Format SDK
[Funktionen som är associerad med den här sidan, Windows Media Format 11 SDK, är en äldre funktion. Det har ersatts av Source Reader och Sink Writer. Source Reader och Sink Writer har optimerats för Windows 10 och Windows 11. Microsoft rekommenderar starkt att ny kod använder Source Reader och Sink Writer i stället för Windows Media Format 11 SDK, när det är möjligt. Microsoft föreslår att befintlig kod som använder äldre API:er skrivs om för att använda de nya API:erna om möjligt.]
Exempelkoden som medföljer denna SDK är i form av projekt för Microsoft Visual Studio 2005. De flesta av exemplen finns i C++, men ManagedWMFSDKWrapper och ManagedMetadataEdit kräver C#.
Dessa exempel fungerar inte om inte Windows Media Format SDK eller Windows Player SDK har installerats.
Användningsinformation för varje exempel finns i en readme.txt fil i varje exempelkatalog.
Samle | Beskrivning |
---|---|
Ljudspelare | Spelar upp Windows Media-filer, inklusive DRM-skyddade filer. Det styrs via ett GUI och kommandona inkluderar Spela upp, Pausa, Sök och Stoppa. Den kan spela upp lokala filer eller filer som lästs från Internet (inklusive de som skickas ut på Internet med hjälp av WMVNetWrite-exempelprogrammet).
Obs! DRM-delarna i det här exemplet stöds inte i x64-baserade versioner av Windows. |
DRMHeader | DRMHeader är ett konsolprogram som använder metadataredigerarens IWMDRMEditor- gränssnitt för att läsa DRM-attribut för filer utan att länka till DET statiska DRM-biblioteket.
Obs! Det här exemplet stöds inte i x64-baserade versioner av Windows. |
DRMShow | DRMShow är ett konsolprogram som visar hur du läser DRM egenskaper för en Windows Media-fil med hjälp av metoden IWMDRMReader::GetDRMProperty. Det här exemplet visar användningen av metoden IWMDRMReader::GetDRMProperty och de egenskaper som kan hämtas från DRM-läsaren. Det visar inte hur du skaffar en licens för DRM-skyddat innehåll. Det här exemplet kräver att DRM stub-biblioteket WMStubDRM.lib skapas. Obs! Det här exemplet stöds inte i x64-baserade versioner av Windows. När du hämtar WMStubDRM.lib från Microsoft tilldelas biblioteket en programsäkerhetsnivå. Om säkerhetsnivån för biblioteket som du får inte räcker för att spela upp en skyddad fil visas ett fel i det här exemplet. |
DirectShowInterop/DSCopy | Omkodar en eller flera filer till en ASF-fil med hjälp av filtret DirectShow WM ASF Writer. Indatafilen kan vara ett komprimerat eller okomprimerat format som stöds av DirectShow. |
DirectShowInterop/DSPlay | Det här exemplet är en interaktiv ljud-/videomediefilspelare med stöd för DRM. Den använder DirectShows WM ASF Reader-filter för att spela upp Windows Media-filer (ASF, WMA, WMV) utan DRM-skydd och filer som använder DRM på en nivå av 100 eller lägre. Mer information finns i readme.txt i exempelkatalogen. |
DirectShowInterop/DSSeekFm | Det här exemplet visar hur du använder DirectShow WM ASF-läsarfiltret för att spela upp ASF-innehåll i ett DirectShow-filterdiagram och hur du använder ramen som söker stöd i Windows Media Format SDK. |
Hanterad/WMFSDKWrapper | Den här hanterade sammansättningen fungerar som en omslutning som används av hanterade kodexempel för åtkomst till vissa metadatagränssnitt i denna SDK. |
Hanterad/metadataRedigera | Det här C#-programmet kan användas för att visa och redigera metadata från Windows Media-filer. |
MetaDataEdit | Det här är en C++-version av programmet Managed MetadataEdit. |
ReadFromStream | Det här konsolprogramexemplet visar hur du läser data från IStream- med WMReader.
IStream-källa har implementerats för att använda en fil i Windows Media Format (WMA/WMV/ASF).
Obs! Det här exemplet visar inte hur du bearbetar medieexemplen som kommer från WMReader. Exempel på hur du bearbetar ljud/video eller andra typer av medieexempel finns i andra exempel, till exempel AudioPlayer, som ingår i Windows Media Format SDK. |
UncompAVIToWMV | Det här konsolprogramexemplet visar den kod som krävs för att komprimera en AVI-fil till en WMV-fil. Den visar hur du sammanfogar exempel för ljud- och videoströmmar från flera AVI-filer och antingen sammanfogar dem i liknande strömmar eller skapar en ny ström baserat på källströmprofilen. Den visar också hur du skapar en godtycklig ström, gör multipasskodning, lägger till SMPTE-tidskod och tillämpar DRM version 1-skydd. |
WMGenProfile/exe | Det här exemplet har uppdaterats från 7.1-versionen. Det är nu ett MFC Dialog-program. WMGenProfile-exemplet visar användningen av det statiska WMGenProfile-biblioteket. Det fungerar också som ett verktyg för att skapa profiler. Det här verktyget är avsett för utvecklare som är bekanta med Windows Media Format. Användargränssnittet har inte testats för användarupplevelsen och är inte avsett som en rekommendation om hur den här informationen ska presenteras för en användare. |
WMGenProfile/lib | GenProfile-biblioteksexemplet visar hur profiler skapas. Den visar hur du skapar medietyper och strömmar för olika strömtyper (ljud, video, skript, bild, filöverföring och webb). Den visar inte hur du arbetar med systemprofiler eller hur du konverterar systemprofiler till profiler som anger koderna i Windows Media Audio och Video 9-serien. |
WMProp | Det här konsolprogrammet visar hur du hämtar attribut med hjälp av metadataredigerarens objekt och profilinformation från läsaren. |
WMStats | Det här konsolprogrammet visar statistik för läsare och skrivare. Flera instanser av WMStats kan också användas samtidigt på en dator. Starta en instans som en server för att skicka strömmen till nätverket och kör sedan en andra instans som en klient för att kontrollera att servern strömmas korrekt. |
WMSyncReader | Det här konsolprogramexemplet visar hur du läser en mediefil med IWMSyncReader utan att skapa någon extra tråd eller använda motringningar. Följande funktioner implementeras :Läsa komprimerade eller dekomprimerade exempel Tidsbaserad sökning Rambaserad sökning IStream härledd källa |
WMVAppend | Det här konsolprogrammet tar två Windows Media-filer för indata och försöker skapa en utdatafil med innehållet i den första följt av den andra. Exemplet jämför profilerna för de två indatafilerna för att säkerställa att de är tillräckligt lika för att läggas till. Om så inte är fallet visas ett felmeddelande. Ett felmeddelande uppstår till exempel när en fil endast är ljud och den andra är en ljud-videofil, eller när två ljudfiler har olika bithastigheter. Exemplet accepterar VBR-källor (variable bit rate). Men när du jämför profilerna för de två VBR-källorna ignorerar exemplet den genomsnittliga bithastighetsskillnaden eftersom två VBR-strömmar har olika genomsnittliga bithastigheter även om de skapades med samma profil. WMVAppend kan inte jämföra den högsta bithastigheten för obegränsade bithastighetsbaserade VBR-strömmar, eller kvalitetsnivån för kvalitetsbaserade VBR-strömmar, eftersom den här informationen inte finns i källfilerna. Det är därför användarens ansvar att se till att två källfiler skapas med samma profil. Annars kan ogiltigt innehåll skapas. |
WMVCopy | Det här exemplet visar den kod som krävs för att kopiera en WMV-fil. Den visar hur du läser och skriver komprimerade exempel, läser rubrikattribut och skript och ändrar rubrikattribut. |
WMVNetWrite | Det här konsolprogrammet visar hur en Windows Media-fil strömmas över Internet. Exemplet kräver att en port anges och sedan kan filen spelas upp med hjälp av en spelare. |
WMVRecompress | Det här konsolprogrammet visar hur du komprimerar en WMV-fil igen. Den visar läsning av okomprimerade prover, skriver okomprimerade prover och utför flerpasskodning, multikanalutmatning och smart rekomprimering. |