Lire une video avec AVPlayer dans Swift Playground?

J'ai de la difficulté à lire une video dans un terrain de jeu rapide en utilisant AVPlayer.

Voici mon code.

import UIKit import AVFoundation var f=CGRectMake(0, 0, 500, 500) var url=NSURL(ssortingng: "http://s3.amazonaws.com/vids4project/sample.mp4") var playerItem = AVPlayerItem(URL: url) var v = UIView(frame:f) var player=AVPlayer(playerItem: playerItem) var playerLayer=AVPlayerLayer(player: player) playerLayer.frame=f v.layer.addSublayer(playerLayer) player.play() 

Aucune suggestion? Le code ne fait rien du tout. Mon attente est la variable «v» devrait montrer la video. Il semble fonctionner en dehors de la cour de récréation quand je connecte l'avplayerlayer à une vue d'un storyboard.

Ce qui suit devrait fonctionner si vous le laissez tomber dans un terrain de jeu. Assurez-vous d'échanger le path: (Xcode7 GM)

 import UIKit import AVFoundation import XCPlayground var f = CGRectMake(0, 0, 500, 500) let path = NSBundle.mainBundle().pathForResource("movie", ofType: "m4v")! let url = NSURL(fileURLWithPath: path) var playerItem = AVPlayerItem(URL: url) var v = UIView(frame: f) v.backgroundColor = UIColor.blackColor() var player = AVPlayer(playerItem: playerItem) var playerLayer = AVPlayerLayer(player: player) playerLayer.frame = f v.layer.addSublayer(playerLayer) player.play() XCPShowView("View", view: v) XCPSetExecutionShouldContinueIndefinitely(true) 

Essayez d'append ceci à la fin pour que le terrain de jeu continue de fonctionner

 import XCPlayground XCPSetExecutionShouldContinueIndefinitely(continueIndefinitely: true) 

Merci de la réponse @Justin Levi Winter et j'ai mis à jour le code pour Swift3, testé avec Xcode 8 (Cette video joue dans la chronologie, mais pas sur le Quick Look):

 import AVFoundation import PlaygroundSupport URLCache.shared = URLCache(memoryCapacity: 0, diskCapacity: 0, diskPath: nil) let width = 568 let height = 320 let container = UIView(frame: CGRect(x: 0, y: 0, width: width, height: height)) PlaygroundPage.current.liveView = container PlaygroundPage.current.needsIndefiniteExecution = true func playVideo(_ url: URL){ let f=CGRect(x: 0, y: 0, width: width, height: height) let playerItem = AVPlayerItem(url: url) let player=AVPlayer(playerItem: playerItem) let playerLayer=AVPlayerLayer(player: player) playerLayer.frame=f container.layer.addSublayer(playerLayer) PlaygroundPage.current.liveView = container player.play() } playVideo(URL(ssortingng:"http://s3.amazonaws.com/vids4project/sample.mp4")!)