I'm using cocos2d with MPMoviePlayerViewController class, but when I
tryed to catch notification status when the movie is finished I got
this error:
Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: '-[NSCFString
movieFinishedCallback]: unrecognized selector sent to instance
0x5d23730'
*******my playVideoController.m are:
@implementation PlayVideoViewController
+(id) scene{
CCScene *scene = [CCScene node];
CCLayer *layer = [credits node];
[scene addChild: layer];
return scene;
}
-(id)initWithPath:(NSString *)moviePath{
if ((self = [super init])){
movieURL = [NSURL fileURLWithPath:moviePath];
[movieURL retain];
playerViewController = [[MPMoviePlayerViewController alloc]
initWithContentURL:movieURL];
player = [playerViewController moviePlayer];
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(movieFinishedCallback)
name:MPMoviePlayerPlaybackDidFinishNotification
object:player];
[[[CCDirector sharedDirector] openGLView]
addSubview:playerViewController.view];
[player play];
}
return self;
}
-(void)movieFinishedCallback{
CCLOG(@"video finished!!");
}
****************in .h:
#import <UIKit/UIKit.h>
#import "cocos2d.h"
#import <MediaPlayer/MediaPlayer.h>
@interface PlayVideoViewController : CCLayer {
NSURL *movieURL;
MPMoviePlayerViewController *playerViewController;
MPMoviePlayerController *player;
}
+(id) scene;
@end
***********************and I call it in appDelegate.m:
- (void) applicationDidFinishLaunching:(UIApplication*)application
{
CC_DIRECTOR_INIT();
CCDirector *director = [CCDirector sharedDirector];
[director setDeviceOrientation:kCCDeviceOrientationLandscapeLeft];
EAGLView *glView = [director openGLView];
[glView setMultipleTouchEnabled:YES];
[CCTexture2D
setDefaultAlphaPixelFormat:kTexture2DPixelFormat_RGBA8888];//
kEAGLColorFormatRGBA8
NSString *path = [[NSBundle mainBundle] pathForResource:@"intro"
ofType:@"mov" inDirectory:nil];
viewController = [[[PlayVideoViewController alloc]
initWithPath:path] autorelease]; }
what i'm doing wrong? anyone can help me please?? I'm try to solve it
since a lot of hours ago but I can't!
--
You received this message because you are subscribed to the Google Groups
"cocos2d discuss" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cocos-discuss?hl=en.