在为播放器工厂设置所有参数后init,准备播放器进行预览,我知道我的播放器是由播放器状态(1)初始化的。此外,缓冲区回调会打印出一些数字。
但是当我尝试调用该play方法时,它给出了一个关于[RealPLayer BufferFlushed].
对我来说,这似乎是一个空引用问题,但播放器工厂类是一个单例,我已经在init.
会是什么呢?
播放器初始化
- (id)初始化{
if (self = [super init]) {
deezerPlayer = [PlayerFactory createPlayerWithNetworkType:NetWork_WIFI_AND_3G
andBufferProgressInterval:50.f];
[deezerPlayer setPlayerDelegate:self];
[deezerPlayer setBufferDelegate: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 方法
-(无效)播放{
[deezerPlayer 播放];
}
在这一点上,它给出了错误
这是调用类
- (void)setTheData{
[[playerController currentPlayer] initPlayerForPreviewWithUrl:sop.currentSongLink andTrackId:sop.currentSongId];
}
- (IBAction)togglePlayPause:(id)sender
{
如果(playPause.selected){
[[playerController currentPlayer] 暂停];
[playPause setSelected:NO];
}
} 别的 {
[[playerController currentPlayer] 播放];
[playPause setSelected:YES];
}
}
请注意,播放器控制器的当前播放器距离是 The deezerplayer in The other class