2010-06-29 13 views
10

znajdę MPMoviePlayerController.h istniejedlaczego MPMovieLoadState ma stan 5?

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; 

ale gdy zrobiłem

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

wypisze 5 lub czasami 3, jak to się stało? Jak wiem, że LoadState ma wartość 0,1,2,4 odnoszą się do dokumentacji dewelopera. Dziękujemy!

Odpowiedz

29

PlayState jest maską bitową. Dowolna liczba bitów może być ustawiony, jak

MPMovieLoadStatePlaythroughOK | MPMovieLoadStatePlayable 

Sprawdzenie stanów takich jak to:

MPMovieLoadState state = [playerController loadState]; 
if(state & MPMovieLoadStatePlaythroughOK) { 
     NSLog(@"State is Playthrough OK"); 
} 
+0

racja ~ dziękuję – ben

+3

+1 Zauważ, że (stan & MPMovieLoadStateUnknown) zwróciłby FALSE, nawet jeśli (stan == MPMovieLoadStateUnknown) było prawdziwe, ponieważ MPMovieLoadStateUnknown == 00 == FALSE –

Powiązane problemy