Frage

Ich versuche, einen WCF-Dienst erstellen, die den WPF Mediaplayer auf dem Server nutzen die Miniaturansicht für ein Video, das ein User-Uploads zu erzeugen. Ich fand eine Menge OIF Informationen, wie man einen Rahmen zu machen und sie in einer Datei speichern. Aber das Problem ist das Schlüsselereignis MediaOpened (eigentlich keines der Ereignisse) Ich brauche in binden nicht -. EDIT Feuer

Wer weiß, ob die WPF Mediaplayer Ereignisse nicht ausgelöst, wenn Ion Rahmen eines WCF-Dienst verwendet?

Dank Michael

War es hilfreich?

Lösung

Ich beschloss, zu versuchen, die Expression Media Encoder 2 SDK zu verwenden und es hat super funktioniert.

Sehr wenig Code Thumbnails aus einem Video zu erzeugen - hier ist ein Ausschnitt

public void GenerateThumbnails(string fileName, int numberOfThumbnails)

{     Queue _positionsToThumbnail = new Queue ();     Microsoft.Expression.Encoder.MediaItem Video = new Microsoft.Expression.Encoder.MediaItem (filename);

var totalMilliseconds = video.FileDuration.TotalMilliseconds;

//create a queue of timespans for the thumbnails
for (int i = 0; i < numberOfThumbnails; i++)
{
    _positionsToThumbnail.Enqueue(TimeSpan.FromMilliseconds((((2 * i) + 1) * totalMilliseconds) / (2 * numberOfThumbnails)));
}

//create the thumbnails and save them to disk
while(_positionsToThumbnail.Count > 0)
{

    Bitmap bitMap = video.GetThumbnail(_positionsToThumbnail.Dequeue(), new System.Drawing.Size(100,100));
    bitMap.Save(@"F:\thumbs\" + _positionsToThumbnail.Count.ToString() + ".png", ImageFormat.Png);
}

}

Andere Tipps

Sie werden wahrscheinlich brauchen, um die Daten auf dem Bildschirm zu machen, für diese Ereignisse ausgelöst werden - es ist alles zu sein, einen Teil der WPF visuellen Struktur gebunden ist; die, wenn sie als Dienst ausgeführt wird es nicht ist.

Es gibt viele Möglichkeiten, wie Sie könnten versuchen, dieses Problem zu beheben, von denen alle gewunden sind, und wahrscheinlich nicht maßstab gehen. Ich schlage vor, der normale Windows-Media-API (aus dem Windows Media SDK) mit nach unten zu bekommen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top