2009-03-24 9 views
3

Я пытаюсь установить источник видеосигнала в XAML коде, видео не воспроизводится:WPF Медиа Элемент Video Source

<MediaElement x:Name="bgvideo" Width="800" Height="600"Source="/Videos/BG_LOOP_BIG.wmv" /> 

Так я пытаюсь установить источник видеосигнала в коде, который не играет слишком. :

bgvideo.Source = new Uri(@"pack://application:,,,/Videos/BG_LOOP_BIG.wmv", UriKind.Absolute); 

или

bgvideo.Source = new Uri(@"/Videos/BG_LOOP_BIG.wmv"); 

Это просто играть, когда источник видео absoulte:

bgvideo.Source = new Uri(@"C:\SomeFolder\Videos\BG_LOOP_BIG.wmv"); 

Как я могу установить источник видеосигнала с относительным источником?

ответ

2

Это работает для меня. Добавить LoadedBehavior = «Руководство»

<MediaElement LoadedBehavior="Manual" x:Name="bgvideo" Width="800" Height="600" Source="Videos/BG_LOOP_BIG.wmv" /> 

Затем в коде позади вы должны играть СМИ

bgvideo.Play() 

Вы также должны потерять первый «/» в Ури.

НТН

+0

Я уже пробовал эту проблему: Я установил LoadedBehavior = «Manual» и Loaded event с обработчиком событий «bgvideo_Loaded». Я написал bgvideo.Play() в методе bgvideo_Loaded. Теперь; Я удалил первый '/' и все еще не работал :( – Murat

+0

У вас есть wmv в bin/debug/Videos /? Если вы удалите атрибут LoadedBehavior, он должен начать играть автоматически, без необходимости вызова Play(). – PaulB

+0

Нет папки с видео в bin/debug :) Я скопировал это, и он работает :) Большое вам спасибо. Почему визуальная студия не копирует эту папку в bin/debug, есть ли у вас какие-либо идеи? – Murat

1

Отбросьте первый слэш:

:)

также, насколько я знаю, видео не может быть встроен в сборку.

2
<MediaElement x:Name="bgvideo" Width="800" Height="600"Source="Videos/BG_LOOP_BIG.wmv" /> 

Это также работает, вы просто должны установить свойство Копировать в выходной каталог видео файлов на копии, если новее или скопировать всегда.