Supporto multimediale in WPF senza Windows Media Player 10+?
-
03-07-2019 - |
Domanda
Mi chiedo se è possibile distribuire Windows Media Foundation senza Windows Media Player 10 o 11?
Ecco il contesto. Ho un'applicazione WPF in esecuzione in un ambiente aziendale. WPF richiede Windows Media Foundation per il supporto Rich Media. Windows Media Foundation è distribuito tramite Windows Media Player 10 e 11. Il programma di rilascio aziendale per WMP 10/11 è troppo lontano per me in futuro. Ma poiché non ho bisogno dell'intera infrastruttura del lettore, solo la base multimediale mi chiedo se c'è un modo per distribuire proprio quel componente.
Soluzione
Media Foundation è una tecnologia solo Vista e da quello che ho capito, dovrebbe sostituire DirectShow in futuro. Il motivo per cui WPF necessita di WMP v10 + è perché milcore utilizza internamente WMP OCX. Le funzionalità WMP v10 + OCX consentono al milcore di utilizzare Enhanced Video Renderer (EVR), che a sua volta utilizza un presentatore personalizzato per eseguire il rendering direttamente su una superficie D3D e infine in WPF. In Vista, WMP utilizzerà il percorso Media Foundation su DirectShow se il supporto è supportato (ad esempio, file WMV).
Ho un'alternativa. Il mio progetto " WPF MediaKit " . Ho un controllo WPF chiamato MediaUriElement, che è simile a MediaElement. Non richiede affatto WMP. Il lato negativo è che utilizza la classe D3DImage che è disponibile solo in .NET 3.5 SP1.