Applicazioni di esempio di Windows Media Format SDK
[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita dal lettore di origine e dal writer sink. Lettore di origine e writer sink sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi lettore di origine e writer sink anziché Windows Media Format 11 SDK, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
Il codice di esempio fornito con questo SDK è sotto forma di progetti per Microsoft Visual Studio 2005. La maggior parte degli esempi è in C++, ma ManagedWMFSDKWrapper e ManagedMetadataEdit richiedono C#.
Questi esempi non funzioneranno a meno che windows Media Format SDK o Windows Player SDK sia stato installato.
Le informazioni sull'utilizzo per ogni esempio sono contenute in un file di readme.txt in ogni directory di esempio.
Samle | Descrizione |
---|---|
Audioplayer | Riproduce file di Windows Media, inclusi i file protetti da DRM. Viene controllato tramite un'interfaccia utente grafica e i comandi includono Play, Pause, Seek e Stop. Può riprodurre file o file locali letti da Internet (inclusi quelli di output su Internet tramite l'esempio WMVNetWrite).
Nota: Le parti DRM di questo esempio non sono supportate nelle versioni basate su x64 di Windows. |
DRMHeader | DRMHeader è un'applicazione console che usa l'interfaccia IWMDRMEditor dell'editor di metadati per leggere gli attributi DRM dei file senza il collegamento alla libreria statica DRM.
Nota: Questo esempio non è supportato nelle versioni basate su x64 di Windows. |
DRMShow | DRMShow è un'applicazione console che illustra come leggere le proprietà DRM di un file Windows Media usando il metodo IWMDRMReader::GetDRMProperty . Questo esempio illustra l'uso del metodo IWMDRMReader::GetDRMProperty e delle proprietà che possono essere recuperate dal lettore DRM. Non illustra come acquisire una licenza per il contenuto protetto da DRM. Per compilare questo esempio è necessaria la libreria stub DRM WMStubDRM.lib. Nota: Questo esempio non è supportato nelle versioni basate su x64 di Windows. Quando si acquisisce WMStubDRM.lib da Microsoft, alla libreria viene assegnato un livello di sicurezza dell'applicazione. Se il livello di sicurezza della libreria ricevuto non è sufficiente per riprodurre un file protetto, in questo esempio verrà visualizzato un errore. |
DirectShowInterop/DSCopy | Transcodifica uno o più file in un file ASF usando il filtro DirectShow WM ASF Writer. Il file di input può essere qualsiasi formato compresso o non compresso supportato da DirectShow. |
DirectShowInterop/DSPlay | Questo esempio è un lettore di file multimediali audio/video interattivo con supporto DRM . Usa il filtro lettore WM ASF di DirectShow per riprodurre file di Windows Media (ASF, WMA, WMV) senza protezione DRM e file che usano DRM a un livello di 100 o inferiore. Per altre informazioni, vedere readme.txt nella directory dell'esempio. |
DirectShowInterop/DSSeekFm | Questo esempio illustra come usare il filtro lettore WM ASF DirectShow per riprodurre contenuto ASF in un grafico di filtro DirectShow e come usare il frame che cerca supporto in Windows Media Format SDK. |
Managed/WMFSDKWrapper | Questo assembly gestito funge da wrapper usato dagli esempi di codice gestito per accedere ad alcune interfacce di metadati di questo SDK. |
Managed/MetadataEdit | Questa applicazione C# può essere usata per visualizzare e modificare i metadati dai file di Windows Media. |
MetaDataEdit | Si tratta di una versione C++ dell'applicazione Managed MetadataEdit. |
ReadFromStream | Questo esempio di applicazione console illustra come leggere i dati da IStream con WMReader.
L'origine IStream è stata implementata per usare un file in Windows Media Format (WMA/WMV/ASF).
Nota: In questo esempio non viene illustrato come elaborare gli esempi multimediali provenienti da WMReader. Per esempi su come elaborare audio/video o altri tipi di esempi multimediali, fare riferimento ad altri esempi, ad esempio AudioPlayer, inclusi in Windows Media Format SDK. |
UncompAVIToWMV | Questo esempio di applicazione console mostra il codice necessario per comprimere un file AVI in un file WMV. Illustra come unire esempi per flussi audio e video da diversi file AVI e unirli in flussi simili o creare un nuovo flusso basato sul profilo del flusso di origine. Illustra anche come creare un flusso arbitrario, eseguire la codifica multipass, aggiungere codice ora SMPTE e applicare la protezione DRM versione 1. |
WMGenProfile/exe | Questo esempio è stato aggiornato dalla versione 7.1. È ora un'applicazione MFC Dialog. L'esempio WMGenProfile illustra l'uso della libreria statica WMGenProfile. Funge anche da strumento per la creazione di profili. Questo strumento è destinato agli sviluppatori che hanno familiarità con Windows Media Format. L'interfaccia utente non è stata testata per l'esperienza utente e non è un suggerimento su come presentare queste informazioni a un utente. |
WMGenProfile/lib | L'esempio di libreria GenProfile illustra la creazione di profili. Illustra come creare tipi e flussi multimediali per vari tipi di flusso (audio, video, script, immagine, trasferimento di file e Web). Non dimostra come usare i profili di sistema o come convertire i profili di sistema in profili che specificano i codec windows Media Audio e Video 9 Series. |
WMProp | Questa applicazione console illustra come recuperare gli attributi usando l'oggetto editor di metadati e le informazioni sul profilo dal lettore. |
WMStats | Questa applicazione console visualizza le statistiche lettore e writer. È anche possibile usare più istanze di WMStats contemporaneamente in un computer. Avviare un'istanza come server per inviare il flusso alla rete e quindi eseguire una seconda istanza come client per verificare che il server sia in streaming correttamente. |
WMSyncReader | Questo esempio di applicazione console illustra come leggere un file multimediale usando IWMSyncReader senza creare alcun thread aggiuntivo o usare i callback. Le funzionalità seguenti sono implementate:Lettura di esempi compressi o decompressi Ricerca basata sul tempo Ricerca basata su frame Origine derivata IStream |
WMVAppend | Questa applicazione console accetta due file di Windows Media per l'input e tenta di creare un file di output con il contenuto del primo seguito dal secondo. L'esempio confronta i profili dei due file di input per assicurarsi che siano sufficientemente simili da essere accodati. In caso contrario, viene visualizzato un messaggio di errore. Ad esempio, un messaggio di errore si verifica quando un file è solo audio e il secondo è un file audio-video o quando due file audio hanno velocità di bit diverse. L'esempio accetta origini VBR (Variable Bit Rate). Tuttavia, quando si confrontano i profili delle due origini VBR, l'esempio ignora la differenza media di velocità in bit perché due flussi VBR avranno frequenze medie diverse anche se sono state create usando lo stesso profilo. WMVAppend non può confrontare la frequenza di bit massima dei flussi VBR basati su velocità in bit senza vincoli o il livello di qualità dei flussi VBR basati sulla qualità, perché queste informazioni non esistono nei file di origine. È quindi responsabilità dell'utente assicurarsi che due file di origine vengano creati usando lo stesso profilo. In caso contrario, è possibile creare contenuto non valido. |
WMVCopy | Questo esempio mostra il codice necessario per copiare un file WMV. Illustra come leggere e scrivere esempi compressi, leggere gli attributi e gli script dell'intestazione e modificare gli attributi di intestazione. |
WMVNetWrite | Questa applicazione console mostra come un file Windows Media viene trasmesso attraverso Internet. L'esempio richiede che venga specificata una porta e quindi il file possa essere riprodotto usando un lettore. |
WMVRecompress | Questa applicazione console mostra come ricomprimere un file WMV. Illustra la lettura di esempi non compressi, la scrittura di esempi non compressi e l'esecuzione di codifica multipasso, output multicanale e ricompressione intelligente. |