【问题标题】:why does MPMovieLoadState have state 5?为什么 MPMovieLoadState 有状态 5?
【发布时间】:2010-06-29 07:24:44
【问题描述】:

我找到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,请参阅开发人员文档。 谢谢!

【问题讨论】:

    标签: iphone iphone-sdk-3.0 mpmovieplayercontroller


    【解决方案1】:

    playState 是一个位掩码。可以设置任意位数,例如

    MPMovieLoadStatePlaythroughOK | MPMovieLoadStatePlayable
    

    检查这样的状态:

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

    【讨论】:

    • +1 请注意,即使 (state == MPMovieLoadStateUnknown) 为 TRUE, (state & MPMovieLoadStateUnknown) 也会返回 FALSE,因为 MPMovieLoadStateUnknown == 00 == FALSE
    猜你喜欢
    • 1970-01-01
    • 2021-08-04
    • 2021-03-20
    • 1970-01-01
    • 2022-07-11
    • 2014-06-19
    • 2020-08-25
    • 2014-03-12
    • 1970-01-01
    相关资源
    最近更新 更多