5

問題は、player.currentItem.status が を返すAVPlayerStatusReadyToPlay前に、player.status が完全な 2 秒を返すAVPlayerItemStatusReadyToPlayことです。なぜこれが起こっているのかについて、誰かに役立つ説明はありますか?
これは、何が起こっているかの基本的な考え方を示すための単なるサンプル コードです。タイプミスなどがある場合は無視してください。

- (void) someMethod
{    
    player = [[AVPlayer alloc] initWithURL:someValidURL];
    [player play];

    NSTimer *timer = [NSTimer timerWithTimeInterval:0.1 target:self selector:@selector(checkStatus:) userInfo:nil repeats:YES];
    [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
}

- (void) checkStatus: (NSTimer *)timer
{
    NSLog(@"player status: %i", player.status]);
    NSLog(@"player item status: %i", player.currentItem.status]);
}
4

1 に答える 1