iphone - iPad 3.2 & [MPMoviePlayerController setFullScreen:] not showing up -


i have universal application plays movies internet. has support 3.1.x 4.x.

in order work, have branch in code detects pre-3.2 devices , utilizes mpmovieplayercontroller supposed work there.

this how prepare player play remote movie:

- (void)registerformovienotifications {     //for 3.2 devices , above     if ([movieplayer respondstoselector:@selector(loadstate)]) {         log(@"movieplayer responds loadstate, 3.2+ device");          //register notification movie ready play         [[nsnotificationcenter defaultcenter] addobserver:self                                                  selector:@selector(movieplayerloadstatechanged:)                                                      name:mpmovieplayerloadstatedidchangenotification                                                    object:nil];          [[nsnotificationcenter defaultcenter] addobserver:self                                                  selector:@selector(didexitfullscreen:)                                                       name:mpmovieplayerdidexitfullscreennotification                                                    object:nil];          log(@"preparing movieplayer...");         [movieplayer preparetoplay];           } else {             //for pre-3.2 devices             log(@"this 3.1.x device");              //register notification movie ready play             [[nsnotificationcenter defaultcenter] addobserver:self                                                      selector:@selector(moviepreloaddidfinish:)                                                          name:mpmovieplayercontentpreloaddidfinishnotification                                                        object:nil];         }          //handle when movie finished         [[nsnotificationcenter defaultcenter] addobserver:self                                                  selector:@selector(movieplaybackdidfinish:)                                                      name:mpmovieplayerplaybackdidfinishnotification                                                    object:nil];     }     - (void)readyplayer {         if (!movieplayer) {             movieplayer = [[mpmovieplayercontroller alloc] initwithcontenturl:movieurl];         } else {             [movieplayer setcontenturl:movieurl];         }          [self registerformovienotifications];     } 

later on notification, , sets movie player's view, etc.

- (void) movieplayerloadstatechanged:(nsnotification*)notification {     log(@"3.2/4.x - movieplayerloadstatechanged:");     //unless state unknown, start playback     if ([movieplayer loadstate] != mpmovieloadstateunknown) {         //remove observer         [[nsnotificationcenter defaultcenter] removeobserver:self                                                         name:mpmovieplayerloadstatedidchangenotification                                                       object:nil];          //set frame of movie player match         self.view.autoresizessubviews = yes;          [[movieplayer view] setframe:self.view.bounds];         [[movieplayer view] setautoresizingmask:uiviewautoresizingflexiblewidth | uiviewautoresizingflexibleheight];         [[movieplayer view] setautoresizessubviews:yes];          //add movie player subview         [self.view addsubview:movieplayer.view];         [movieplayer setfullscreen:yes];          //play movie         [movieplayer play];      } } 

and movie plays. works on iphone 4.2, 4.3, ipad 4.2, 4.3, fails on ipad 3.2. movie plays black screen.

if remove [movieplayer setfullscreen:yes] call visible playing movie in 3.2, isn't "fullscreen" , doesn't have done button , there's no way me dismiss screen.

i'd love on what's going on here. thanks!

i able come acceptable solution, still feel might bug.

if skip call setfullscreen , instead manually set controlstyle mpmoviecontrolstylefullscreen gives me view correct (the toolbar 40 pixels low).

then can done button, triggers movieplayer:didfinishplaying callback.

so stinks have smelly if 3.2 branch of logic in code, people on 4.0 anyway.


Comments

Popular posts from this blog

how to build hyperlink for query string in php -

php - What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']? -

queue - mq_receive: message too long -