2010-03-08 8 views
7

Sto tentando di far ripetere i video per sempre utilizzando MediaElement. Ho trovato il codice di seguito a http://msdn.microsoft.com/en-us/library/ms741866.aspx e funziona perfettamente.Il comportamento di ripetizione degli elementi multimediali non riesce quando si esegue il binding a 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> 

Il problema che sto avendo è quando provo ad associare il MediaTimeLine ad una sorgente XML ottengo l'errore - "deve specificare URI".

C'è una soluzione C# che potrebbe sostituire lo xaml?

+0

Ho rimosso i trigger e MediaTimeLine e creato una fonte di associazione xpath per "myMediaElement". Quindi aggiungo questo codice a myMediaElement_MediaEnded: this.myMediaElement.Position = TimeSpan.FromSeconds (0); this.myMediaElement.Play(); Funziona ma è lento da caricare per qualche motivo – KenS

+0

Mi chiedo anche come farlo usando XAML. Il problema sembra essere che Source si aspetta un URI, non una stringa. Legare a una stringa e convertirlo automaticamente in un URI sembra essere un po 'complicato, tuttavia, come dimostrato qui: http://stackoverflow.com/questions/20586/wpf-image-urisource-and-data-binding – Jakob

+0

50 della mia reputazione con la domanda ancora senza risposta. :( – Jakob

risposta

1

Perché non si utilizza un convertitore di valore? So che non è completamente WPF, ad esempio è necessaria una codifica in C#, ma questo sembra fare esattamente quello che vuoi e di cui hai bisogno. Tutorial WPF ha una spiegazione abbastanza decente quindi se non ti dispiace mi riferisco a quella pagina allora: http://www.wpftutorial.net/ValueConverters.html

Problemi correlati