我對一個小應用程序項目感興趣,並且製作了一個視頻放入故事板。然而,我唯一的問題是,我不知道如何將視頻添加到故事板。 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