MPMoviePlayerController视图未添加到视图控制器

时间:2011-06-20 10:59:30

标签: iphone

我正在编写代码来在这样的方法中在ownservices.m类中播放视频文件。

- (void)playVediofile:(NSString *)vedioFileName {

NSLog(@"playing vedio file ");
NSURL *movieUrl = [NSURL fileURLWithPath:
                   [[NSBundle mainBundle] pathForResource:vedioFileName ofType:@"mp4"]];

MPMoviePlayerController* myMovie=[[MPMoviePlayerController alloc] 
                                  initWithContentURL:movieUrl];

myMovie.scalingMode = MPMovieScalingModeNone;

myMovie.initialPlaybackTime = 2.0;

[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(movieFinished:) 
                                             name:MPMoviePlayerPlaybackDidFinishNotification 
                                           object:myMovie]; 

[self.viewcontroller addSubview:myMovie.view];

[myMovie play];

}

我从ownservicesviewcontroller.m类调用此方法,如按钮单击事件。

ownServices *obj = [[ownServices alloc]init];
        [obj playVediofile:@"Movie"];

我正在获取视频片段的音频,但它没有显示视频。

但我将MPMoviePlayerController视图添加到viewcontroller。

我不明白为什么它没有显示。

为什么我在单独的类中进行操作是因为我的需求是这样的,需要维护ownservices类中的所有方法并从ownservicesviewcontroller.m中调用它们

任何人都可以帮助我。

谢谢。

2 个答案:

答案 0 :(得分:2)

您需要设置myMovie.view的frame属性: 例如你可以把它设置为父母边界:

myMovie.view.frame = self.viewcontroller.bounds;

除此之外,请检查您的实例变量命名。看来,你将视图实例命名为“viewcontroller”,这很奇怪。如果viewcontroller实际上是一个UIViewController类型,你需要将myMovie.view添加到viewcontroller的view属性而不是直接添加到viewcontroller ......

答案 1 :(得分:0)

您需要为MPMoviePlayerController的视图设置框架

喜欢:myMovie.view.frame = CGRectMake(0.0,0.0,320.0,480.0);