Come indicato da Afid, è possibile modificare winform content loading sample.
per farlo accettare WMVs, è necessario modificare in questo modo:
Aggiungere VideoImporters alla matrice assemblee in ContentBuilder.cs:
static string[] pipelineAssemblies =
{
"Microsoft.Xna.Framework.Content.Pipeline.FBXImporter" + xnaVersion,
"Microsoft.Xna.Framework.Content.Pipeline.XImporter" + xnaVersion,
"Microsoft.Xna.Framework.Content.Pipeline.TextureImporter" + xnaVersion,
"Microsoft.Xna.Framework.Content.Pipeline.EffectImporter" + xnaVersion,
"Microsoft.Xna.Framework.Content.Pipeline.VideoImporters" + xnaVersion
};
Poi nel MainForm.cs cambia
contentBuilder.Add(fileName, "Model", null , "ModelProcessor");
a
contentBuilder.Add(fileName, "Video", "WmvImporter" , "VideoProcessor");
Sarà quindi necessario riprodurre il video utilizzando il metodo descritto nello Playing a Video on a Surface example
Questo metodo funziona solo con errore utilizzando la versione 3.1 dell'esempio di caricamento del contenuto; in XNA 4 come ho descritto throws a Pinvoke error. Ho pubblicato i forum XNA nella speranza di trovare una soluzione a questo problema.
EDIT: Ho ricevuto la seguente risposta da un XNA Framework Dev in riferimento all'eccezione PInvoke:
È possibile ignorare questo avvertimento. Questo MDA è attivato per impostazione predefinita da VS2010 per indicare potenziali problemi perf per pappagalli che non dispongono della convenzione di chiamata esplicita . Prima era VS2010 che era disattivato di default quindi è per questo che non lo hai visto in 3.1.Abbiamo scoperto questo poco troppo tardi nel gioco GS4 per farlo andare via ma essenzialmente non ci sono problemi con la funzionalità . Si dovrebbe colpire questo solo quando si è sviluppo/debug dei processori personalizzati . È comprensibile che sia fastidioso e che tu possa disattivarlo con andando in Debug-> Eccezioni-> Gestito Debugging Assistenti-> PInvokeStackImbalance. Noi lo faremo andare via per la prossima versione .
Hey Shachar, sto usando il metodo che usa il GameStudio ma mi piacerebbe un metodo più semplice. Puoi fornire ulteriori dettagli sulla soluzione alla quale sei arrivato? Qualche possibilità di condividere il codice per generare xnb per wmvs? – JohnU
@Shachar Weis piacerebbe vedere come l'hai fatto, cura di condividere? Questo potrebbe essere molto utile! – TimothyP