플레이어 팩터에 대한 모든 매개 변수를 설정 한 후 플레이어를 미리 준비 했으므로 플레이어 상태 (1)로 초기화됩니다. 또한 버퍼 콜백은 일부 숫자를 출력합니다.[playerFactory play] 메서드 호출 중 액세스 오류가 잘못되었습니다.
그러나 play
메서드를 호출하려고하면 [RealPLayer BufferFlushed]
에 대한 잘못된 액세스 오류가 발생합니다.
내게 그것은 null 참조 문제처럼 보이지만 플레이어 팩토리 클래스는 싱글 톤이며 나는 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; }
이있는
- (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]]; }
는 그 후 나는이 같은 다른 클래스에서 재생 메서드를 호출하여 필요한 URL과 ID를 가진 다른 클래스에서 호출 미리 준비
- (void)play { [deezerPlayer play]; }
이 시점에서 오류 메시지가 표시됩니다.
이 호출하는 클래스를 플레이어 컨트롤러의 현재 플레이어 istances가 다른 클래스의 deezerplayer이라고
- (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]; } }
주입니다
관련 코드를 게시하십시오. 우리가 추측하는 것은 불가능합니다. –
내 잘못! api 요청에서 잘못된 링크를 검색합니다. 그래서 플레이어 요청이 알 수없는 형식에 대해 잘못된 액세스 오류를 제공하고있었습니다. – UncleSax