2009-04-29 14 views
0

iPhoneオーディオストリーミングアプリケーションを開発したばかりです...問題なくオーディオファイルを再生できます。iPhoneネットワークが3GからWiFiとviceversaに切り替わるときに問題が発生します。ネットワークの切り替え中にストリームを一時停止する必要があります。ネットワークが来たときに再生を再開できませんでした。コードを使ってこの状況をどのように処理するかを教えてもらえますか?iPhoneのネットワーク切り替えを処理する方法は?

よろしく、 Syam S

答えて

3

あなたはcheck Reachability statusにアプリを設定し、「一時停止」を送信することがありますNSNotificationときに、ネットワークの状態の変化やネットワークが到達不能(および、同様に、NSNotificationとき「再生」でありますネットワークステータスの変更、およびネットワークは今再び到達可能である):

[[Reachability sharedReachability] setNetworkStatusNotificationsEnabled:YES]; 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:@"kNetworkReachabilityChangedNotification" object:nil]; 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pauseStreaming:) name:@"kPauseAudioStreamingIfPlaying" object:nil]; 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pauseStreaming:) name:@"kPlayAudioStreamingIfPaused" object:nil]; 

- (void) reachabilityChanged:(id)sender { 
    NetworkStatus reachabilityStatus = [[Reachability sharedReachability] internetConnectionStatus]; 
    if (reachabilityStatus == NotReachable) 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"kPauseAudioStreamingIfPlaying" object:nil]; 
    else 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"kPlayAudioStreamingIfPaused" object:nil]; 
} 
+0

こんにちは、アレックス、任意のエラーbytes..Wheneverストリームを読み取るためCFNetworkはフレームワークを使用していreply..Iあなたのため おかげかもしれreadstream通話機能を発生します私は遊びを再開できません。ストリームデータを取得するためにreadstreamコールバックをリセットする方法を知っていますか? –

+0

Googleが「ASIHTTPRequest」を検索して、データ要求の読み取りと再開を容易にするフレームワークを提供します。これはあなたを助けるかもしれません(あるいはそうでないかもしれません)。あるいは、少なくとも生のソースコードを使ってCopseyがそれをどうやって行うのを助けるかもしれません。 –

関連する問題