2015-02-23 199 views
3

我对一个小应用程序项目感兴趣,并且制作了一个视频放入故事板。然而,我唯一的问题是,我不知道如何将视频添加到故事板。 ImageView不接受文件类型(.mov)。在线上,我只找到了Xcode 4的教程,没有别的。我需要视频而不是GIF文件,因为我不希望GIF永远循环。我正在使用Swift。如何将视频添加到故事板页面(Xcode 6)

谢谢!

+0

您需要在代码中执行此操作,创建MPMoviePlayer并将其添加到视图中。 – rckoenes 2015-02-23 14:52:58

+0

谢谢!出于好奇,创建一个GIF会更容易吗?如果是这样,我怎么能让GIF在一段时间后停止(比如说60分钟)?该视频只有3帧可以重复一个小时,所以它可能在.GIF格式下效果更好。 – user113085 2015-02-23 14:59:23

+0

那么,如果它只是3帧,使用电影将是矫枉过正,因为它会增加你的应用程序的大小。但默认情况下,动画GIF不支持UIImageView。但是,您可以将3张图像传递给它将动画的UIImageView。 – rckoenes 2015-02-23 15:02:32

回答

2

我建议你添加MediaPlayer.framework构建阶段选项

下构建阶段 - >使用库链接二进制文件 - >使用添加按钮并键入mediaplayer并添加MediaPlayer.framework。完成后添加以下代码:

import UIKit 
import MediaPlayer 

class ViewController: UIViewController { 
    var moviePlayer: MPMoviePlayerController! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 

     let path = NSBundle.mainBundle().pathForResource("sample", ofType:"mp4") 
     let url = NSURL.fileURLWithPath(path!) 
     self.moviePlayer = MPMoviePlayerController(contentURL: url) 
     if let player = self.moviePlayer { 
      player.view.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height) 
      player.view.sizeToFit() 
      player.scalingMode = MPMovieScalingMode.Fill 
      player.fullscreen = true 
      player.controlStyle = MPMovieControlStyle.None 
      player.movieSourceType = MPMovieSourceType.File 
      player.repeatMode = MPMovieRepeatMode.One 
      player.play() 
      self.view.addSubview(player.view) 
     } 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 
} 
2

我不知道你是否想要视频自动播放或不。如果您想要自动播放视频,您可以使用Mediaplayer添加视频。我为你过去我的代码。我只是一个初学者,但它为我工作。

首先将视频添加到您的项目

,然后在你的代码,你可以做这样的:

import MediaPlayer 

class YOURCLASS: UIViewController { 

override func viewDidAppear(animated: Bool) { 

     playVideo() 
    } 

    var moviePlayer : MPMoviePlayerController? 

    func playVideo() { 
     let path = NSBundle.mainBundle().pathForResource("THENAMEOFYOURVIDEO", ofType:"m4v") 
     let url = NSURL.fileURLWithPath(path!) 
     moviePlayer = MPMoviePlayerController(contentURL: url) 

     if let player = moviePlayer { 

player.view.frame = CGRect(x: 0, y: 50, width: self.view.frame.size.width, height: 300) 

      player.prepareToPlay() 
      player.scalingMode = .AspectFill 
      player.controlStyle = .None 
      player.shouldAutoplay = true 
      player.repeatMode = MPMovieRepeatMode.One 
      self.view.addSubview(player.view) 

     }  
    } 
} 
+0

谢谢!这帮助了我,但是,由于第20行的宽度问题,构建失败,并且当我尝试更改尺寸以适当修复视频时,无法构建。 – user113085 2015-02-23 15:22:16

+0

对不起,我没有正确粘贴我的代码:player.view.frame = CGRect(x:0,y:50,width:self.view.frame.size.width,height:300) – ChinaXiaoHong 2015-02-23 15:24:13

相关问题