MPMoviePlayerController堆栈溢出
问题描述:
我想在相当简单的iPhone应用程序中使用MPMoviePlayerController
。基本布局是与UIWindow
xib文件关联的UIApplicationDelegate
。内applicationDidFinishLaunching
方法,我试图播放电影用下面的代码:MPMoviePlayerController堆栈溢出
// Path to the movie
NSString *path = [[NSBundle mainBundle] pathForResource:@"logoscreen" ofType:@"m4v"];
movieURL = [NSURL fileURLWithPath:path];
// Setup the player
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
// Use the new 3.2 style API
moviePlayer.controlStyle = MPMovieControlStyleNone;
moviePlayer.shouldAutoplay = YES;
[window addSubview:moviePlayer.view];
[moviePlayer setFullscreen:YES animated:YES];
当此执行,我得到一个“EXC_BAD_ACCESS”错误,并且GDB加载一个巨大的堆栈(用“_makeSubtreePerformSelector”方法重复几千次。
#6633 0x34b0cb0c in -[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:]
#6634 0x34b0cb0c in -[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:]
#6635 0x34b0cb0c in -[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:]
#6636 0x34b0cb0c in -[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:withObject:copySublayers:]
#6637 0x34b0c9c4 in -[UIView(Hierarchy) _makeSubtreePerformSelector:withObject:]
#6638 0x34b0c790 in -[UIView(Internal) _addSubview:positioned:relativeTo:]
#6639 0x34b0c408 in -[UIView(Hierarchy) addSubview:]
#6640 0x33f81928 in -[MPInlineVideoViewController _transitionToFullscreenAnimated:]
#6641 0x33f7df5c in -[MPInlineVideoViewController setFullscreen:animated:]
#6642 0x33f05998 in -[MPMoviePlayerControllerNew setFullscreen:animated:]
#6643 0x33f059cc in -[MPMoviePlayerControllerNew setFullscreen:]
#6644 0x33f06b2c in -[MPMoviePlayerController setFullscreen:]
#6645 0x00002ab0 in -[GiyapLiteAppDelegate playMovie:] at GiyapLiteAppDelegate.m:67
#6646 0x000028a2 in -[GiyapLiteAppDelegate applicationDidFinishLaunching:] at GiyapLiteAppDelegate.m:38
#6647 0x34b16154 in -[UIApplication _callInitializationDelegatesForURL:payload:suspended:]
#6648 0x34cc46d4 in -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:]
#6649 0x34b7f7c0 in -[UIApplication handleEvent:withNewEvent:]
#6650 0x34b7eebc in -[UIApplication sendEvent:]
#6651 0x34b7e7f0 in _UIApplicationHandleEvent
#6652 0x33910ee4 in PurpleEventCallback
#6653 0x322352b2 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__
#6654 0x322371dc in __CFRunLoopDoSource1
#6655 0x32238194 in __CFRunLoopRun
#6656 0x321df0c2 in CFRunLoopRunSpecific
#6657 0x321defd0 in CFRunLoopRunInMode
#6658 0x34b0ab20 in -[UIApplication _run]
#6659 0x34b08fc0 in UIApplicationMain
#6660 0x000026f8 in main at main.m:14
值得一提的是,如果我尝试播放基于点击事件电影的代码,它工作得很好这几乎就像应用程序没有完成的“布线”的东西但关于窗口层次?有没有人遇到过这样的事情?
答
也许你应该尝试设置animated
来编号
感谢您的答复 - 这似乎没有工作,同样的错误。然后,我尝试将上面的所有“YES”值设置为“NO”,并且我能够实现的最佳结果是电影不能播放。 – Marty 2010-08-25 11:51:05