在设置播放器工厂 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
1 回答
如果你给,错误的歌曲“id” - “streamId”匹配你得到那个EXC_BAD_ACCESS的玩家 . 另请注意,如果您尝试播放API的JSON响应中显示为“readable = 0”的歌曲,则可能会出现相同的错误 . 我希望Deezer能解决这个崩溃问题并给出相应的错误信息 .