你需要使用AVPlayer,因为这使您可以回一次玩几个视频或有您的视频出现在另一个视图的顶部。另外,通过使用AVPlayer和AVPlayerLayer,它很容易使视频呈现为圆形。 (这里有一个很好的教程就可以了解更多:http://jacopretorius.net/2013/02/playing-video-in-ios.html)
这里的代码(Objective-C的):
在视图控制器的.h文件:
#import <AVFoundation/AVFoundation.h>
然后在viewDidLoad
:
[super viewDidLoad];
// Set up the image view first (the imageView is an IBOutlet)
self.imageView.image = [UIImage imageNamed:@"image"];
self.imageView.alpha = 0.2;
NSURL *url = [[NSBundle mainBundle] URLForResource:@"video" withExtension:@"mp4"];
AVPlayer *player = [AVPlayer playerWithURL:url];
CGFloat diameter = MIN(self.view.frame.size.width, self.view.frame.size.height) * 0.8;
AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:player];
layer.videoGravity = AVLayerVideoGravityResizeAspectFill;
layer.frame = CGRectMake((self.view.frame.size.width - diameter)/2,
(self.view.frame.size.height - diameter)/2,
diameter, diameter);
layer.cornerRadius = diameter/2;
layer.masksToBounds = YES;
// Put the AVPlayerLayer on top of the image view.
[self.view.layer addSublayer:layer];
[player play];
我想在Xcode中做到这一点,在Xcode中没有'let'? – iqueqiorio 2015-04-05 17:44:15
啊,你在用Objective-C吗?我用Swift。 – ABakerSmith 2015-04-05 17:45:04
是obj-c谢谢 – iqueqiorio 2015-04-05 17:50:00