0

背景が透明なビデオをアプリ内で再生したいと思います。透明な背景の上を動き回る男がいます。唯一の問題は、MPMovieePlayer の背景が黒いように見えることです。どうすれば透明にできますか?

これは私が試したコードです:

-(void)playMovie
{
       NSString *resourcePath = [[NSBundle mainBundle] pathForResource:@"syncink movie" ofType:@"m4v"];
       NSLog(@"%@",resourcePath);
       NSURL *url = [NSURL fileURLWithPath:resourcePath];
       NSLog(@"%@",url);

       MPMoviePlayerViewController *moviePlayer;

       moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:url];

       moviePlayer.moviePlayer.shouldAutoplay=YES;
       moviePlayer.moviePlayer.controlStyle = MPMovieControlStyleNone;
       [moviePlayer.moviePlayer setFullscreen:NO animated:YES];
       [self.view addSubview:moviePlayer.view];

       moviePlayer.view.frame = CGRectMake(200, 600, 400, 300);

       [moviePlayer.moviePlayer play];

       moviePlayer.view.backgroundColor = [UIColor clearColor];

       for(UIView *aSubView in moviePlayer.view.subviews) 
       {
          aSubView.backgroundColor = [UIColor clearColor];
       }
}

しかし

aSubView.backgroundColor = [UIColor clearColor];

実際の背景ではなく、プレーヤーのフレームを削除しているようです。助けてくれてありがとう。

4

1 に答える 1

0

MPMoviePlayerControllerの代わりに、ここで使用する必要がありますMPMoviePlayerViewController。後者は (通常はモーダル形式で) 表示されるビュー コントローラーです。

このように、moviePlayer.view をサブビューとして階層に追加すると、ムービー プレーヤーを含むビュー (表示されている真っ黒な画面) ではなく、ムービー プレーヤー ビュー自体が追加されます。

また、 を使用することで、どこでもコードMPMoviePlayerControllerを単純化して.moviePlayer.moviePlayermoviePlayer

于 2013-05-05T19:59:34.753 に答える