2010-03-08 5 views
7

Estoy intentando que los videos se repitan para siempre usando MediaElement. Encontré el código a continuación en http://msdn.microsoft.com/en-us/library/ms741866.aspx y funciona bien.El comportamiento de repetición del medioelemento falla al enlazar con xpath

<!-- The MediaElement control plays the sound. --> 
     <MediaElement Name="myMediaElement" > 
      <MediaElement.Triggers> 
       <EventTrigger RoutedEvent="MediaElement.Loaded"> 
        <EventTrigger.Actions> 
         <BeginStoryboard> 
          <Storyboard> 

           <!-- The MediaTimeline has a RepeatBehavior="Forever" which makes the media play 
       over and over indefinitely.--> 
           <MediaTimeline Source="C:\MyVideo1.wmv" Storyboard.TargetName="myMediaElement" 
               RepeatBehavior="Forever" /> 

          </Storyboard> 
         </BeginStoryboard> 
        </EventTrigger.Actions> 
       </EventTrigger> 
      </MediaElement.Triggers> 
     </MediaElement> 

El problema que estoy teniendo es cuando trato de obligar a la MediaTimeLine a una fuente XML consigo el error - "Debe especificar URI".

<MediaTimeline Source="{Binding XPath=MyVideos}" 
    Storyboard.TargetName="myMediaElement" RepeatBehavior="Forever" /> 

¿Hay alguna solución de C# que pueda reemplazar a la xaml?

+0

Eliminé los disparadores y MediaTimeLine y creé un origen de enlace xpath para "myMediaElement". Luego agrego este código a myMediaElement_MediaEnded: this.myMediaElement.Position = TimeSpan.FromSeconds (0); this.myMediaElement.Play(); Funciona, pero es lento para cargar por alguna razón – KenS

+0

También me pregunto cómo hacer esto usando XAML. El problema parece ser que Source espera un URI, no una cadena. Sin embargo, enlazar una cadena y convertirla automáticamente en un URI parece ser un poco complicado, como se demuestra aquí: http://stackoverflow.com/questions/20586/wpf-image-urisource-and-data-binding – Jakob

+0

Ahí va 50 de mi reputación con la pregunta aún sin respuesta. :( – Jakob

Respuesta

1

¿Por qué no utiliza un convertidor de valores? Sé que no es completamente WPF, es decir, se requiere alguna codificación de C#, pero parece que hace exactamente lo que quiere y necesita. WPF Tutorials tiene una explicación bastante decente así que si no te importa que te refiera a esa página, entonces: http://www.wpftutorial.net/ValueConverters.html

Cuestiones relacionadas