2013-12-15 17 views
2

玩家廠init一個所有參數的設置之後,準備播放器的預覽,我知道我的球員是由播放器狀態初始化(1)。此外,緩衝區回調打印出一些數字。壞訪問錯誤,同時調用[playerFactory播放]方法

但是當我嘗試調用play方法,它提供了有關[RealPLayer BufferFlushed]壞訪問錯誤。

對我來說,它似乎是一個空引用問題,但玩家工廠類是一個單例,我已經在init中聲明它。

它可能是什麼?

播放器初始化

 

    - (id)init { 
     if (self = [super init]) { 
      deezerPlayer = [PlayerFactory createPlayerWithNetworkType:NetWork_WIFI_AND_3G 
               andBufferProgressInterval:50.f]; 
      [deezerPlayer setPlayerDelegate:self]; 
      [deezerPlayer setBufferDelegate:self]; 
     } 
     return self; 
    } 

這是預覽從URL和ID的其他類中調用所需

 

    - (void) initPlayerForPreviewWithUrl:(NSString *)url andTrackId:(NSString *)trackId{ 
     NSLog(@"INIT PLAYER WITH LINK: %@ AND ID: %@",url,trackId); 
     [deezerPlayer preparePlayerForPreviewWithURL:url trackID:trackId andDeezerConnect:[[deezerClass deezerSession] deezerConnect]]; 

    } 

後,我稱之爲play方法從相同的其他類準備

 

    - (void)play { 

     [deezerPlayer play]; 

    } 

在這一點上,它給出了錯誤

這是調用類

 

    - (void)setTheData{ 
      [[playerController currentPlayer] initPlayerForPreviewWithUrl:sop.currentSongLink andTrackId:sop.currentSongId]; 


    } 



    - (IBAction)togglePlayPause:(id)sender 
    { 
     if(playPause.selected) { 
       [[playerController currentPlayer] pause]; 
       [playPause setSelected:NO]; 
      } 
     } else { 
       [[playerController currentPlayer] play]; 
       [playPause setSelected:YES]; 


     } 

    } 

注意,玩家控制的當前玩家istances在其他類deezerplayer

+0

請張貼您的相關代碼。我們猜測是不可能的。 –

+1

我的錯!從API請求我檢索錯誤的鏈接;所以玩家請求給未知格式提供了錯誤的訪問錯誤。 – UncleSax

回答

0

如果你給,錯了歌曲「身份證」 - 「流ID」難擋玩家可以獲得EXC_BAD_ACCESS。另請注意,如果您嘗試在API的JSON響應中播放表示爲「可讀= 0」的歌曲,則可能會得到相同的錯誤。我希望Deezer能夠解決這個崩潰並給出一個適當的錯誤信息。

相關問題