在为播放器工厂设置所有参数后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