0
我剛剛開發了一款iPhone音頻流應用程序......現在它可以播放音頻文件沒有任何問題..當iPhone網絡從3G切換到WiFi和反之亦然時,問題出現了。我需要在網絡切換時暫停流,但當網絡來臨時我無法恢復播放。任何人都可以指示我如何使用代碼處理這種情況?如何處理iPhone中的網絡切換?
問候, SYAM小號
我剛剛開發了一款iPhone音頻流應用程序......現在它可以播放音頻文件沒有任何問題..當iPhone網絡從3G切換到WiFi和反之亦然時,問題出現了。我需要在網絡切換時暫停流,但當網絡來臨時我無法恢復播放。任何人都可以指示我如何使用代碼處理這種情況?如何處理iPhone中的網絡切換?
問候, SYAM小號
您可能您的應用程序設置爲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];
}
嗨亞歷克斯, 感謝您reply..I正在使用CFNetwork的框架,用於讀取流bytes..Whenever任何錯誤發生readstream呼叫功能可以不會被解僱。因此我無法恢復比賽。 。你知道如何重置readstream回調來獲取流數據嗎? – 2009-04-29 06:50:15