Więc wiem, że AVPlayerItemDidPlayToEndTimeNotification
jest wysyłany, gdy film "has played to its end time".Co dokładnie wyzwala AVPlayerItemDidPlayToEndTimeNotification?
Moje pytanie brzmi: w jaki sposób gracz wie, czy przedmiot osiąga swój czas końcowy? Odtwarzałem strumień na żywo wygenerowany przez generator innej firmy. Utrzymuje aktualizację M3U8 i tworzenie nowych plików TS, które powinny być transmitowane na żywo. Ale w pewnym momencie mój odtwarzacz otrzymuje AVPlayerItemDidPlayToEndTimeNotification
i tym samym wywołuje moje metody wyjścia i kończy działanie. Generator strumienia innej firmy nadal działa poprawnie. Mogę ponownie uruchomić odtwarzacz i oglądać strumienie. Ponieważ pozycja odtwarzania jest transmitowana na żywo, playerItem.duration
nie jest czytelnym czasem trwania, co sprawia, że znalezienie Czasu Końcowego bardziej przypomina mi czarną magię ...
Naprawdę zdezorientowany, jak gracz myśli, że to koniec. Zgaduję, że może plik TS był problematyczny i sprawił, że gracz pomyślał, że cała gra się skończyła? Ale jeśli tak, to czy gracz powinien zmienić swój status, by powiedzieć "coś", zamiast milczeć, aby zakończyć grę?
P.S. Próbowałem też na różne sposoby, jak na przykład, że brakuje jednego ts na liście m3u8, lub przestań generować nowe, aby odtwarzacz mógł odtwarzać bieżące m3u8 i grać po ostatnich ts, nic nie uczyniło magii AVPlayerItemDidPlayToEndTimeNotification
....
I zarejestrował powiadomienie w następujący sposób: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playerItemDidReachEnd:) name:AVPlayerItemDidPlayToEndTimeNotification object:self.playerItem];
Czy jesteś pewien, że to nie tylko auto-podpinania do nowego strumienia na wylocie? – CodaFi
"Co dokładnie uruchamia AVPlayerItemDidPlayToEndTimeNotification?" - umieść punkt przerwania w metodzie, która jest dla niego zarejestrowana, uruchom w debugggerze, poczekaj na punkt przerwania, 'backtrace',' frame 1', zysk. –
@CodaFi Dziękujemy za odpowiedź! Tak, jestem pewien, odtwarzacz przestaje grać i nie czyta niczego z serwera, z którego pochodzi m3u8. – Ooops