Io non so come si imposta il tuo playlist, ma credo che questo è come si esegue questa operazione:
- Hai un MediaElement
- Per sottoscrivere evento MediaElement.MediaEnded
- È analizzare il file m38u e impostare il flusso pugno dall'elenco su MediaElement.Source.
- Gestisci MediaElement.MediaEnded e ogni volta che imposti il flusso successivo dall'elenco.
È vero? In caso affermativo, il problema è un passaggio 4. Ogni volta che si imposta una nuova origine, MediaElement richiede al flusso da server e buffer almeno qualcosa per avviare la visualizzazione del video. Immagino sia per questo che vedi transizioni di 3 secondi. Ecco come è necessario risolvere questo:
- Si ha lo stesso MediaElement.
- È necessario implementare sulla propria interfaccia IRandomAccessStream, che può scaricare un flusso in memoria (se non è veramente enorme) o su disco, o semplicemente un flusso di buffer con dimensioni del buffer specifiche.
- Analizza il file m38u, inizializza prima il tuo IRandomAccessStream e lo imposta come sorgente.
- Quando ad esempio il primo video viene eseguito al 90% del tempo, è necessario inizializzare il secondo stream dalla playlist, avviare il download con IRandomAccessStream.
- Quando MediaElement.MediaEnded sarà licenziato - avrete tamponata flusso, che è pronto per MediaElement, quindi è sufficiente impostare flusso dal punto 4.
ho provato a farlo con i file locali, ha dato io stesso le prestazioni di transizione lente – Ateik
file locali a volte può essere anche lento. Prova ad usare la memoria. Se questo non funziona, suppongo che dovrai combinarli sul server per l'utente. – outcoldman