È inoltre necessario
ScrubbingEnabled="True"
Quindi impostare un evento su Load
Loaded="Video1_Loaded"
Nel metodo Video1_Load aggiungere il seguente:
Video1.Play();
Video1.Pause();
Nessuno dei contenuti video è reso prima il metodo di gioco è chiamato. Quindi, anche se si imposta la posizione oltre il primo fotogramma non si ottiene alcun dato di rendering.
Penso che la proprietà MediaElement.ScrubbingEnabled sia la chiave.
Ottiene o imposta un valore che indica se il MediaElement aggiornerà fotogrammi per cercare operazioni mentre pausa. Questa è una proprietà di dipendenza.
Ho provato lo stesso approccio senza ScrubbingEnabled ma ho trovato che il primo fotogramma non veniva visualizzato. Non sono sicuro se sia solo l'hardware che sto usando per questo. L'altro elemento da ricordare è che il modo in cui funziona MediaElement, una volta chiamato Play(), potrebbe non essere effettivamente Pausa() sul primo fotogramma esattamente, quindi potresti voler ridurre il volume sul flusso prima di chiamare Riproduci e resettare dopo aver chiamato Pausa.
fonte
2009-08-28 20:58:30
Thx - funziona! Devo dire che non mi sento a mio agio con l'attivazione di Play() Pause(). Ho visto qualcun altro suggerirlo, ma ho trovato l'approccio un po '"hacky". Ma se questo è l'unico modo, credo che dovremo conviverci. ScrubbingEnabled è una bella proprietà, ma non sembra avere nulla a che fare con la visualizzazione del primo frame video all'avvio. – stiank81