почему MPMovieLoadState имеет состояние 5?

Я нахожу MPMoviePlayerController.h, существует

enum {
    MPMovieLoadStateUnknown        = 0,
    MPMovieLoadStatePlayable       = 1 << 0,
    MPMovieLoadStatePlaythroughOK  = 1 << 1, // Playback will be automatically started in this state when shouldAutoplay is YES
    MPMovieLoadStateStalled        = 1 << 2, // Playback will be automatically paused in this state, if started
};
typedef NSInteger MPMovieLoadState;

но когда я сделал

NSLog(@"%d",player.loadState)

это распечатывает 5 или иногда 3, как это происходило? Поскольку я знаю, что loadstate имеет значение 0,1,2,4, обращаются к документации разработчика.Спасибо!

10
задан ben 29 June 2010 в 07:24
поделиться

1 ответ

PlayState - это битовая маска. Может быть установлено любое количество битов, например

MPMovieLoadStatePlaythroughOK | MPMovieLoadStatePlayable

Проверить наличие таких состояний:

MPMovieLoadState state = [playerController loadState];
if( state & MPMovieLoadStatePlaythroughOK ) {
        NSLog(@"State is Playthrough OK");
} 
29
ответ дан 3 December 2019 в 15:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: