2016-11-19 79 views
0

我想在视图的下半部分的视图的上半部分以及其文本视图中显示主题的视频。对于那个视频控制,我希望具有播放,暂停,停止,ff等功能。另外,我想从本地资源播放它,因为我的Web服务尚未安装。请提出一个很好的解决方案如何在ios中的一个小框架中显示视频

我试过UIWebView并增加了对webview和textview的约束,但由于某种原因web视图没有正确显示视频。以下是我的代码

let purl = NSURL(fileURLWithPath: "/Users/Rohit/Desktop/videos/demo/demo/video1.mp4")  webView.loadHTMLString("<iframe width = \" \(webView.frame.width) \" height = \"\(webView.frame.height)\" src = \"\(purl)\"></iframe>", baseURL: nil) 
    webView.backgroundColor = UIColor.green 
    webView.mediaPlaybackRequiresUserAction = true 
    webView.scrollView.isScrollEnabled = true 
    webView.isUserInteractionEnabled = true 

回答

1

您可以使用AVPlayerLayer并给它一个界限。

private func inits() { 

     //let rootLayer: CALayer = self.layer 
     // rootLayer.masksToBounds = true 

     avPlayerLayer = AVPlayerLayer(player: player) 
     avPlayerLayer.bounds = self.bounds 
     // avPlayerLayer.backgroundColor = UIColor.yellowColor().CGColor 
     self.layer.insertSublayer(avPlayerLayer, atIndex: 0) 
    } 
2

导入AVFoundationAVKit

然后播放使用URL对象的视频(在斯威夫特3 NSURL更名为URL

let player = AVPlayer(URL: URI) 
let controller = AVPlayerViewController() 
controller.player = player 
self.addChildViewController(controller) 
let screenSize = UIScreen.main.bounds.size 
let videoFrame = CGRect(x: 0, y: 10, width: screenSize.width, height: (screenSize.height - 10) * 0.5) 
controller.view.frame = videoFrame 
self.view.addSubview(controller.view) 
player.play()