我对一个小应用程序项目感兴趣,并且制作了一个视频放入故事板。然而,我唯一的问题是,我不知道如何将视频添加到故事板。 ImageView不接受文件类型(.mov)。在线上,我只找到了Xcode 4的教程,没有别的。我需要视频而不是GIF文件,因为我不希望GIF永远循环。我正在使用Swift。如何将视频添加到故事板页面(Xcode 6)
谢谢!
我对一个小应用程序项目感兴趣,并且制作了一个视频放入故事板。然而,我唯一的问题是,我不知道如何将视频添加到故事板。 ImageView不接受文件类型(.mov)。在线上,我只找到了Xcode 4的教程,没有别的。我需要视频而不是GIF文件,因为我不希望GIF永远循环。我正在使用Swift。如何将视频添加到故事板页面(Xcode 6)
谢谢!
我建议你添加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.
}
}
我不知道你是否想要视频自动播放或不。如果您想要自动播放视频,您可以使用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)
}
}
}
谢谢!这帮助了我,但是,由于第20行的宽度问题,构建失败,并且当我尝试更改尺寸以适当修复视频时,无法构建。 – user113085 2015-02-23 15:22:16
对不起,我没有正确粘贴我的代码:player.view.frame = CGRect(x:0,y:50,width:self.view.frame.size.width,height:300) – ChinaXiaoHong 2015-02-23 15:24:13
您需要在代码中执行此操作,创建MPMoviePlayer并将其添加到视图中。 – rckoenes 2015-02-23 14:52:58
谢谢!出于好奇,创建一个GIF会更容易吗?如果是这样,我怎么能让GIF在一段时间后停止(比如说60分钟)?该视频只有3帧可以重复一个小时,所以它可能在.GIF格式下效果更好。 – user113085 2015-02-23 14:59:23
那么,如果它只是3帧,使用电影将是矫枉过正,因为它会增加你的应用程序的大小。但默认情况下,动画GIF不支持UIImageView。但是,您可以将3张图像传递给它将动画的UIImageView。 – rckoenes 2015-02-23 15:02:32