如何在MPMoviePlayerController上添加UIImageView. iOS |目标C [英] How to add a UIImageView over a MPMoviePlayerController | iOS | Objective C

查看:68
本文介绍了如何在MPMoviePlayerController上添加UIImageView. iOS |目标C的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个控制器,可以在其中使用MPMoviePlayerController显示视频.我需要在视频上放一张图片.

I have a controller where I displays a video using MPMoviePlayerController. And I need to put an image over the video.

我正在尝试以下代码,但未显示.我想念的是什么?

I am trying with the following code, but it doesn't show up. What I am missing?

// method to play the video
- (void)playVideoInLoopMode:(BOOL)loop {
    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"myvideo" ofType:@"m4v"]];

    MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:url];
    mp.controlStyle = MPMovieControlStyleNone;

    if (loop) {
        mp.repeatMode = MPMovieRepeatModeOne;        
    }

    mp.view.frame = CGRectMake(0.0, 0.0, self.view.bounds.size.width, self.view.bounds.size.height);
    self.player = mp;
    [self.view addSubview:self.player.view];

    [self.player prepareToPlay];

    [self.player play];
}

// method to add the image
- (void) addImageLayer {
    image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"myimage"]];
    image.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
    [self.view addSubview:image];
}

首先,我使用[self playVideoInLoopMode:YES]方法运行视频,并在5秒钟后尝试使用[self addImageLayer]方法放置图像层;

First I am running the video with the method: [self playVideoInLoopMode:YES] and after 5 seconds I am trying to put the image layer with the method [self addImageLayer];

在我的AppDelegate.h中,我的didFinishLaunchingWithOptions中包含以下代码:

In my AppDelegate.h I have this code in the didFinishLaunchingWithOptions:

 MyViewController *myVC = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];

    [self.window addSubview:myVC.view];
    [self.window makeKeyAndVisible];

推荐答案

尝试将图像视图添加到mp.view中,然后将mp.view添加到常规视图中 例如,如果图像将始终相同,则可以将其添加到您的起始代码中,然后删除添加视图的方法...

Try adding the image view to the mp.view and then u add the mp.view to the general view for example if the image will be always the same u can add it in your starting code and delete the method to add the view...

// method to play the video
- (void)playVideoInLoopMode:(BOOL)loop 
{
   NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"myvideo" ofType:@"m4v"]];

   MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:url];
   mp.controlStyle = MPMovieControlStyleNone;

   if (loop) 
   {
       mp.repeatMode = MPMovieRepeatModeOne;        
   }

   mp.view.frame = CGRectMake(0.0, 0.0, self.view.bounds.size.width, self.view.bounds.size.height);
   self.player = mp;
   [self.view addSubview:self.player.view];
   image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"myimage.png"]];
   image.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
   [self.player addSubview:image];
   [self.player prepareToPlay];
   [self.player play];
}

这篇关于如何在MPMoviePlayerController上添加UIImageView. iOS |目标C的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆