【问题标题】:Retrieving video file stored as PFFile for ios application developed in swift为快速开发的 ios 应用程序检索存储为 PFFile 的视频文件
【发布时间】:2015-11-23 08:12:41
【问题描述】:

有一个解析类“响应”,其中一个字段是文件类型。通过选择单元格并单击“上传文件”手动将文件上传到每一行的此列。

现在我需要获取这个文件(据我所知应该是 PFFile 类型)并在我的 iOS 应用程序中播放这个文件(它是一个视频文件)。

请帮忙!

【问题讨论】:

    标签: ios swift video parse-platform pffile


    【解决方案1】:

    假设您只想流式传输视频文件而不实际下载它(这可能需要一段时间),您只需在“响应”类中获取 PFObject。获得对象后,您可以获取对保存视频的 PFFile 的引用并访问其 URL 属性:

    // define these as class properties:
    var player:AVPlayer!
    var playerLayer:AVPlayerLayer!
    
    // write all of the below somewhere in your ViewController, e.g. in viewDidLoad:
    var videoUrl:String!
    
    let query = PFQuery(className: "Response")
    query.getObjectInBackgroundWithId("objectId123") {
        (object:PFObject?, error:NSError?) in
        if (error == nil && object != nil) {
            let videoFile = object!["keyForVideoPFFile"] as! PFFile
            videoUrl = videoFile.url
            self.setupVideoPlayerWithURL(NSURL(string: videoUrl)!)
        }
    }
    

    在上面的代码中,您将视频的 URL 提供给将流式传输视频的 AVPlayer 对象。请注意,您需要导入 AVKit 才能使用 AVPlayer 和 AVPlayerLayer。设置播放器的函数如下:

    func setupVideoPlayerWithURL(url:NSURL) {
    
        player = AVPlayer(URL: url)
        playerLayer = AVPlayerLayer(player: self.player)
        playerLayer.videoGravity = AVLayerVideoGravityResizeAspect
        playerLayer.frame = self.view.frame   // take up entire screen
        self.view.layer.addSublayer(self.playerLayer)
        player.play()
    }
    

    我建议您查看有关 AVPlayer 和 AVPlayerLayer 的 Apple 文档,以了解有关视频播放的更多信息。

    AVPlayer:https://developer.apple.com/library/prerelease/ios/documentation/AVFoundation/Reference/AVPlayer_Class/index.html

    AVPlayerLayer:https://developer.apple.com/library/prerelease/ios/documentation/AVFoundation/Reference/AVPlayerLayer_Class/index.html#//apple_ref/occ/cl/AVPlayerLayer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-26
      • 1970-01-01
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      • 2011-11-19
      相关资源
      最近更新 更多