2016-09-14 2 views
2

AVPlayer을 사용하여 서버에서 오디오를 스트리밍하는 음악 플레이어가 있는데 오디오는 잘 재생되지만 오디오가 끝나면 새 오디오 재생 버튼을 클릭 할 때까지 시간이 걸립니다. 거의 35-40 초 새 오디오를 시작하십시오. 누구든지 나를 도울 수 있습니까?AVPlayer는 오디오 재생을 시작하는 데 오랜 시간이 걸립니다.

+2

후 몇 가지 코드 당신은 지연을 얻고 있습니다. 또는 .. – vaibhav

답변

1

관찰자를 사용하여 플레이어 상태를 알 수 있습니다. KVO를 사용 , 그것은 플레이어의 상태의 변화를 통지 할 수있다 :

playButton.enabled = NO; player = [AVPlayer playerWithURL:fileURL]; [player addObserver:self forKeyPath:@"status" options:0 context:nil];

이 메소드가 호출 될 때 상태 변경 :

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object 
        change:(NSDictionary *)change context:(void *)context { 
if (object == player && [keyPath isEqualToString:@"status"]) { 
    if (player.status == AVPlayerStatusReadyToPlay) { 
     playButton.enabled = YES; 
    } else if (player.status == AVPlayerStatusFailed) { 
     // something went wrong. player.error should contain some information 
    } 
} 

}

+0

AVPlayerStatusReadyToPlay조차도 오디오를 재생할 때 지연이 5 초가되고 시간은 NAN ... 정상입니다? –

+0

나는 이것에 대한 신속한 버전을 가질 수 있습니까? –

관련 문제