ich von MPMoviePlayerViewController
zu AVPlayer
für Video-Wiedergabe in meiner Implementierung wechseln bin versucht, sieht ähnlich aus, etwas zu dieserUmzug von MPMoviePlayerViewController zu AVPlayer und Streaming m3u8
NSURL *movieURL = [NSURL URLWithString:@"http://example.com/somefile.m3u8"];
movieController = [[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];
movieController.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;
[self presentMoviePlayerViewControllerAnimated:movieController];
[movieController.moviePlayer play];
Meiner AVPlayer
Version spielt alles, aber der gewünschten m3u8
Strom. Es schafft es, die Datei zu finden und die AVPlayerViewController
zeigt die richtige Dateidauer, hängt aber mit einer Aktivitätsanzeige und beginnt nie wirklich zu spielen.
NSURLComponents *comp = [NSURLComponents componentsWithString:url.absoluteString];
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:comp.URL options:nil];
AVAssetResourceLoader *loader = asset.resourceLoader;
[loader setDelegate:self queue: dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0)];
AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithAsset:asset];
self.player = [AVPlayer playerWithPlayerItem:playerItem];
Ich habe einen Beobachter über den Status und es spielt schließlich, wenn AVPlayer
‚Status ReadyToPlay
ist. kann ich mir nicht vorstellen kann alles spielen MPMoviePlayerController
kann so wie würde die richtige Umsetzung für dieVersion, um dies zu arbeiten.