2011-06-20 12 views
3

私はownservices.mクラスのビデオファイルをこのようなメソッドで再生するコードを記述しています。MPMoviePlayerControllerビューがビューコントローラに追加されていません

- (無効)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"]; 

ビデオクリップの音声が聞こえても、ビデオは表示されませんでした。

しかし、私はviewcontrollerにMPMoviePlayerControllerビューを追加しています。

なぜ表示されないのですか?私は別々のクラスでやっている理由

は私の要件は、そのようなものですので、ownservicesクラスのすべてのメソッドを維持し、いずれかが私を助けてくださいすることができますownservicesviewcontroller.m

からそれらを呼び出す必要があります。

ありがとうございます。

答えて

2

myMovie.viewのフレームプロパティを設定する必要があります。 あなたはそれを両親の境界に設定することができます:

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

さらに、インスタンス変数の命名をチェックしてください。あなたがビューインスタンスに「viewcontroller」という名前をつけたようですが、それは単に奇妙なものです。 ViewControllerが実際のUIViewControllerのタイプである場合、あなたはのViewControllerに直接のViewControllerのビュープロパティにmyMovie.viewを追加しないようにする必要があるだろう...

+0

私はこのようにしてみてください[self.viewcontroller presentModalViewController:myMovie animated:YES];しかし、使用しないでこれも[self.viewcontroller.view addSubview:myMovie.view];しかし、私はプロパティの未知の 'ビュー'コンポーネントにアクセスする際にエラーが発生しています – MaheshBabu

+0

フルスクリーンビデオを表示し、 'presentMoviePlayerViewControllerAnimated:'で表示できる 'MPMoviePlayerViewController'を使用するかどうかをチェックしてください([ClassReference] http://developer.apple.com/library/ios/#documentation/mediaplayer/reference/mpmovieplayerviewcontroller_class/Reference/Reference.html))。あなたのビデオが別のVCのビューの一部である場合は、[MPMoviePlayerController](http://developer.apple.com/library/ios/#documentation/mediaplayer/reference/MPMoviePlayerController_Class/Reference/Reference.html#//apple_ref/occ)をチェックしてください。/cl/MPMoviePlayerController) – marcus

+0

フルスクリーンビデオを表示する必要があります。 presentMoviePlayerViewControllerAnimatedは3.2以降で利用可能ですが、私は2.0からサポートする必要があります – MaheshBabu

0

あなたのようなMPMoviePlayerControllerの見解

のためのフレームを設定する必要があります。myMovieというの.view.frame = CGRectMake(0.0,0.0,320.0,480.0);

関連する問題