2015-02-23 57 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