2011-12-02 46 views
6

我正在使用Matt Gallagher的算法在iOS中執行mp3流式處理,但有時在暫停應用程序時,經過一段時間後,恢復歌曲彈出消息:「無法配置網絡流讀取「。我已經分析了代碼,但是我不知道如何解決這個錯誤。有沒有人設法更好地處理這個錯誤?iPhone中的Matt Gallagher的AudioStreamer - 無法配置網絡讀取流

Matt Gallagher's AudioStreamer code

+0

你可以分享的任何答案? –

+0

當沒有互聯網連接時,我遇到了這個問題。這可能是一個因素嗎?是從移動還是移動到無線網絡? – Jensen2k

回答

5

我經歷過同樣的事情,這個第三方應用程序,無法找到一個解決方案,然後我曾嘗試蘋果的原生avplayer(不avaudioplayer),讓你與功能流的能力:initWithURL。這裏的類參考,順便說一句:http://developer.apple.com/library/mac/#documentation/AVFoundation/Reference/AVPlayer_Class/Reference/Reference.html

除了這裏是我的播放音樂代碼:

NSURL *url = [[NSURL alloc] initWithString:sourceURL]; 
      theItem = [AVPlayerItem playerItemWithURL:url]; 
      theItem addObserver:self forKeyPath:@"status" options:0 context:nil]; 
      theAudio = [AVPlayer playerWithPlayerItem:mainDelegate.theItem]; 

趕上播放器是否readyto玩你添加上述觀察者,然後你可以檢查它像:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
         change:(NSDictionary *)change context:(void *)context { 
    if (object == theItem && [keyPath isEqualToString:@"status"]) { 
     if(theItem.status == AVPlayerStatusReadyToPlay)  
     { 
      [theAudio play]; 
      [theItem removeObserver:self forKeyPath:@"status"]; 
     } 
     else if(theItem.status == AVPlayerStatusFailed) { 
      NSLog(@"%@" , mainDelegate.theItem.error.description); 
     } 
     else if(theItem.status == AVPlayerStatusUnknown) 
      NSLog(@"unknown"); 
    } 
} 

我希望這有助於。

相關問題