如何将视频添加到iOS应用程序介绍屏幕,如优步

时间:2015-11-12 02:41:49

标签: ios objective-c

希望将视频添加到我的应用介绍屏幕,例如Uber应用。我相信还有其他人。

我发现它使用了gif和UIWebView,但不确定这是否是最佳解决方案。我绝对不想使用图像并将它们拼接在一起(如果这是首选方法,我宁愿没有视频)。

https://medium.com/swift-programming/ios-make-an-awesome-video-background-view-objective-c-swift-318e1d71d0a2

2 个答案:

答案 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;
}