希望将视频添加到我的应用介绍屏幕,例如Uber应用。我相信还有其他人。
我发现它使用了gif和UIWebView,但不确定这是否是最佳解决方案。我绝对不想使用图像并将它们拼接在一起(如果这是首选方法,我宁愿没有视频)。
答案 0 :(得分:2)
这是我在我的应用程序Letsplay中使用的内容,Aslam的答案可以使用,但使用自IOS 9.0起折旧的MPmoviePlayerController。 此外,我设置视频重力,以便您的视频将填满整个框架,这意味着没有黑色边框。
NSString *videoPath = [[NSBundle mainBundle] pathForResource:@"icebergs" ofType:@"mp4"];
NSURL *videoURL = [[NSURL alloc] initFileURLWithPath: videoPath];
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:[AVURLAsset URLAssetWithURL:videoURL options:nil]];
AVPlayer* videoPlayer = [AVPlayer playerWithPlayerItem:playerItem];
AVPlayerLayer* videoPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:videoPlayer];
[videoPlayerLayer setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
[self.view.layer addSublayer:videoPlayerLayer];
[videoPlayerLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill];
[videoPlayer play];
如果您不想要声音,请记住将播放器静音
[videoPlayer setMuted:YES];
答案 1 :(得分:1)
我还没有尝试过代码,但我应该可以使用它。它通常采用视频文件的路径并将其添加到视图控制器。您可能必须设置坐标和大小。虽然我在这里使用过视频,但更喜欢GIF。
- (void)viewDidAppear:(BOOL)animated
{
[self loadVideoInBackgroundOfView];
}
-(void)loadVideoInBackgroundOfView{
MPMoviePlayerController* videoPlayer = [[MPMoviePlayerController alloc] initWithContentURL:[self getTheVideoPath]];
[videoPlayer.view setFrame:self.view.bounds];
[self.view insertSubview:moviePlayer.view atIndex:0];
[videoPlayer prepareToPlay];
[videoPlayer play];
}
-(NSURL*)getTheVideoPath{
NSString *path = [[NSBundle mainBundle] pathForResource:@"VideoFileName" ofType:@"mp4"];
NSURL *URL = [NSURL fileURLWithPath:path];
return URL;
}