2010-12-14 8 views
0

Ich habe ein Mediaelement in meinem Projekt (das eine Kombination aus WPF4 XAML und Visual Basic 2010 verwendet), und ich habe die Quelle Mediaelement (eine relative URI) festgelegt im VB-Code dahinter. All das funktioniert gut.So laden Sie die Videodatei zur Verwendung in Mediaelement im VB/WPF-Projekt

Allerdings enthält mein Projekt eine Menge Videos, die alle hinter den anderen Elementen des WPF-Fensters projiziert werden (und so als Hintergrund dienen). Ich brauche diese Videos, um nahtlos von einem zum anderen zu wechseln, ohne Schnitt. Um dies zu tun, muss ich alle Videos für einen bestimmten Abschnitt vorab laden.

Wie lade ich Videos, die sich in einem relativen URI befinden, vorab ein, sodass sie in dem Moment auftauchen, in dem sie aufgerufen werden?

(Übrigens, alles, was ich arbeite, ist der einzige Weg, wie ich dieses Projekt machen kann, also bitte, keine Kommentare, was ich stattdessen tun sollte. Ich muss nur die Videos vorladen oder andere Wege finden, sie zu machen nahtlos unabhängig von Client-Computer-Geschwindigkeit.)

Vielen Dank! -Jason C. McDonald

Antwort

2

Ich habe seit dem gelernt, dass das Vorladen in einer Anwendung anscheinend nicht möglich/nicht wünschenswert ist. Im Gegensatz zum Web, bei dem das Vorladen (Puffern) das Herunterladen der Datei auf das lokale System beinhaltet, ist das Puffern auf einem lokalen System durch die Ressourcen des Systems und die Prozessor-/CPU-Geschwindigkeit begrenzt. Das Rendern einer Videodatei in einem kompakteren Format (z. B. Theora) und einer niedrigeren Bitrate und Qualität hilft dabei, das "Überspringen" von Videos zu verringern. Ab diesem Punkt wird die Geschwindigkeit der Videowiedergabe vollständig vom System des Benutzers bestimmt.

Daher muss die Anwendung auf mehreren Systemen getestet werden, um die Mindesthardwareanforderungen und Systemressourcen zu ermitteln, die zur Beseitigung des Engpasses bei der Videowiedergabe erforderlich sind.

In einigen Fällen kann die Virtualisierung auch dazu beitragen, die Programmgeschwindigkeit zu verbessern und Ressourcen für die Videowiedergabe freizugeben.