2013-02-17 2 views
10

iOS6 장치 용 온라인 라디오 앱을 개발 중입니다. 필자는이 작업을 수행하기 위해 다양한 래퍼를 찾았습니다. AVPlayer, MPMoviePlayerController 등MPMoviePlayerController를 사용하여 중단 된 라디오 스트림 다시 시작

오디오 전용 응용 프로그램이기 때문에 내 용도로 사용하는 것이 더 정확하다고 생각되어 AVPlayer를 사용해 보았습니다. 그러나 곧이 문제를 건너 왔어요 :

Here 그러므로 내가 MPMoviePlayerController로 전환 이것은 필자가 시도 것입니다 :

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]; 

을 내 StreamStateChanged 방법 임에 일 :

NSLog(@"Trying to replay"); 
[pPlayer pause]; 

[pPlayer play]; 

pPlayer입니다 MPMoviePlayer. 인터럽트가있는 경우를 제외하고는 아무 문제가 없습니다. Console은 다음을 울립니다.

Took background task assertion (1) for playback stall. 
    Ending background task assertion (1) for playback stall. 

어설 션 이후의 숫자는 계속 증가합니다. 일단 인터넷 연결이 안정되면 복구합니다.

내 질문은 :이 접근법이 맞습니까? 나는 그 길을 따라 뭔가 잘못하고 있니? 그리고 그 주장 메시지를 무시해도 괜찮습니까?

P.S :

감사합니다 MPMoviePlayerController

반대로 다른 API를 사용하여 무선 스트리밍 응용 프로그램을 개발하기위한 더 나은 방법 :

답변

9

당신은 그 내부 어설 션 메시지를 무시에 완전히 정확이 있으면 제안 해주십시오. 당신이 그들에 대해 할 수있는 일은 아무것도 없습니다.

+0

답장을 보내 주셔서 감사합니다. 고맙습니다. – Gamer

+1

까지 고맙습니다. 나는 또한 당신이 들었을 수도있는 큰 지방 비디오 재생 응용 프로그램에서 이러한 로깅 메시지 ('... 재생 정지를위한 백그라운드 작업 어설 션 (n)을했다')에 대해 혼란스러워했다. –

+0

내 애플 리케이션의 스트리밍이 많이 중단되기 때문에 이 단언 중 !! !! 내가 뭘 할 수 있을까? – Mutawe

관련 문제