Zajmuję się tworzeniem internetowej aplikacji radiowej dla urządzeń iOS6. Szukałem różnych owijaczy, aby osiągnąć to zadanie. AVPlayer, MPMoviePlayerController itp.Wznawianie przerwanego strumienia radiowego za pomocą MPMoviePlayerController
Próbowałem używać AVPlayera, ponieważ brzmi to bardziej poprawnie, aby używać go do moich celów, ponieważ jest to aplikacja wyłącznie audio. Ale wkrótce natknąłem tego problemu: Here
Dlatego przeszedłem do MPMoviePlayerController i to Im próbuje zrobić:
pPlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:@"http://launch.fusionradio.fm:8004"]];
pPlayer.movieSourceType = MPMovieSourceTypeStreaming;
pPlayer.view.hidden = YES;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];
[pPlayer prepareToPlay];
[pPlayer play];
pPlayer.shouldAutoplay = YES;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(StreamStateChanged) name:MPMoviePlayerLoadStateDidChangeNotification object:pPlayer];
w moim StreamStateChanged metoda robię:
NSLog(@"Trying to replay");
[pPlayer pause];
[pPlayer play];
pPlayer jest MPMoviePlayer. Wszystko jest w porządku, z wyjątkiem sytuacji, gdy wystąpi przerwanie Konsola wypowiada następujące:
Took background task assertion (1) for playback stall.
Ending background task assertion (1) for playback stall.
Liczba po asercji stale rośnie. a następnie odzyskuje się z niego, gdy połączenie internetowe jest stabilne.
Moje pytanie brzmi: czy to podejście jest prawidłowe? Czy robię coś nie tak po drodze? I czy można zignorować tę wiadomość?
P.S: Proszę zasugerować jeśli istnieje lepsze podejście do tworzenia radia strumieniowe aplikacji przy użyciu różnych API, w przeciwieństwie do MPMoviePlayerController
Dziękuję :)
Dziękuję za odpowiedź do. Doceniam to. – Gamer
Dziękuję Till. Byłem także zdezorientowany tymi komunikatami logowania ('... Przywołano asercję zadań tła (n) do odtwarzania stoisk') w grubej aplikacji do odtwarzania wideo, o której słyszałeś ... –
Strumieniowanie w mojej aplikacji zatrzymuje się bardzo, ponieważ tego stwierdzenia !!, co mogę zrobić? – Mutawe