2013-02-17 10 views
10

iOS6デバイスのオンラインラジオアプリケーションを開発しています。 Iveはこの作業を達成するために様々なラッパーを探しました。 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。アサーション後

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

関連する問題