1
다음 코드를 사용하여 내 라이브러리에서 비디오를로드하고 나중에 재생합니다. 내 문제는 그것이 매우 느리고 약 10 초 동안 재생을 기다려야 만하고 심지어 잘 작동하지 않는다는 것입니다.빠른 비디오 재생은 오랜 시간이 걸립니다.
func showVideo(obj: AnyObject!) {
manager.requestAVAssetForVideo(obj as! PHAsset, options: videoOptions, resultHandler: {(avAsset: AVAsset?, audioMix: AVAudioMix?, info: [NSObject : AnyObject]?) -> Void in
self.url = (avAsset as! AVURLAsset).URL
self.playVideo()
})
}
// plays the video
private func playVideo() {
asset = AVAsset(URL: url!)
playerItem = AVPlayerItem(asset: asset!)
player = AVPlayer(playerItem: self.playerItem!)
playerLayer = AVPlayerLayer(player: self.player)
playerLayer.frame = view.frame
view.layer.addSublayer(self.playerLayer!)
player!.play()
}
내가에서 개체를 얻을 :
NSNotificationCenter.defaultCenter().addObserver(self
, selector: #selector(playerItemDidReachEnd(_:))
, name: AVPlayerItemDidPlayToEndTimeNotification
, object: player.currentItem)
및 기능 : 루프 비디오
let allVideo = PHAsset.fetchAssetsWithMediaType(.Video, options: fetchOptions)
showVideo(allVideo.lastObject)
을하고 어디해야 NSNotificationCenter 코드를 추가 하시겠습니까? – mafioso
playVideo()에 넣을 수 있지만 한 번 이상 playVideo()를 호출하려는 경우에는 반드시 관찰자를 삭제해야합니다. – richy