在设置播放器工厂init
的所有参数后,准备播放器进行预览,我知道我的播放器是由播放器状态(1)初始化的。此外,缓冲区回调打印出一些数字。
但是当我尝试调用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]; } }
请注意,玩家控制器的当前玩家权限是其他类别中的deezerplayer
答案 0 :(得分:0)
如果你给,错误的歌曲“id” - “streamId”匹配你得到那个EXC_BAD_ACCESS的玩家。另请注意,如果您尝试播放API的JSON响应中显示为“readable = 0”的歌曲,则可能会出现相同的错误。我希望Deezer能解决这个崩溃问题并给出相应的错误信息。