nie wiem jak skonfigurować playlistę, ale myślę, że to jest, jak to zrobić:
- Masz MediaElement
- subskrybować zdarzenia MediaElement.MediaEnded
- You przeanalizuj plik m38u i ustaw pierwszy strumień z listy na MediaElement.Source.
- Obsługujesz MediaElement.MediaEnded i za każdym razem, gdy właśnie ustawiasz następny strumień z listy.
Czy to prawda? Jeśli tak, to Twój problem to krok 4. Za każdym razem, gdy ustawiasz nowe źródło - MediaElement żąda strumienia z serwera i buforów przynajmniej coś, co się rozpocznie, pokazuje wideo. Chyba dlatego widzisz przejścia 3 sekund. Oto, jak rozwiązać ten problem:
- Masz ten sam MediaElement.
- Musisz zaimplementować na swoim własnym interfejsie IRandomAccessStream, który może pobrać strumień do pamięci (jeśli nie jest naprawdę duży) lub na dysku, lub po prostu strumień bufora z określonym rozmiarem bufora.
- Analizujesz plik m38u, zainicjalizuj najpierw swój IRandomAccessStream i ustaw jako źródło.
- Kiedy na przykład pierwsze wideo w 90% czasu - musisz zainicjować drugi strumień z listy odtwarzania, zacznij pobierać go z IRandomAccessStream.
- Kiedy MediaElement.MediaEnded zostanie zwolniony - trzeba będzie buforowany strumień, który jest gotowy do MediaElement, więc po prostu trzeba ustawić strumień od kroku 4.
Próbowałem to zrobić z lokalnych plików, to dało mi ta sama powolna wydajność przejścia – Ateik
lokalne pliki czasami mogą być również zbyt wolne. Spróbuj użyć pamięci. Jeśli to nie zadziała, myślę, że będziesz musiał połączyć je na serwerze dla użytkownika. – outcoldman