On Sat, Apr 16, 2011 at 12:39 PM, Matt Neuburg <m...@tidbits.com> wrote: > > On Apr 16, 2011, at 9:00 AM, Jeffrey Walton wrote: > >> >> For what its worth, Apple's sample [1] is broken - it can't even play >> the movie it supplies with its sample. >> >> Jeff >> >> [1] >> http://developer.apple.com/library/ios/#samplecode/MoviePlayer_iPhone/Introduction/Intro.html > > That's a well-known bug in the example. It has nothing to do with the movie. > In fact, I used that same movie in the tests for my book (you can see in the > screen shots in the discussion of MPMoviePlayerController). > > The history appears to be that this was a Mac OS X example and was then made > available for iOS, and the example has forgotten to compensate. The code says > [self.moviePlayer play], but they've forgotten the most important step: add > the MPMoviePlayerController's view to the interface. So in fact the movie > *is* playing - you just can't see it because it isn't in the interface. (On > Mac OS X I think the movie played in a different window, but of course there > is no "different window" on iOS.) > > It's easy to fix: > > -(IBAction)playMovieButtonPressed:(id)sender > { > MoviePlayerAppDelegate *appDelegate = > (MoviePlayerAppDelegate *)[[UIApplication sharedApplication] delegate]; > [appDelegate initAndPlayMovie:[self localMovieURL]]; > UIView* v = [appDelegate moviePlayer].view; > appDelegate.moviePlayer.scalingMode = MPMovieScalingModeAspectFit; > v.frame = CGRectMake(54,39,205,135); > [[sender superview] addSubview:v]; > return; > } > Hi Doctor,
With your changes, and the changes below, I was able to crash Xcode (but the movie never played). Apple appears to have serious problems with its MediaPlayer library and its accompanying documentation. Its amazing it made t through QA and was released for general consumption. Jeff // return a URL for the movie file in our bundle -(NSURL *)localMovieURL { if (self.movieURL == nil) { // NSString *moviePath = [bundle pathForResource:@"Movie" ofType:@"m4v"]; NSString* path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; if(path) { NSString* moviePath = [path stringByAppendingPathComponent:@"02 Lost Verizon.m4v"]; if (moviePath) { self.movieURL = [NSURL fileURLWithPath:moviePath]; } } } return self.movieURL; } _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com