Ich versuche, eine Videoschleife aus einer mp4-Datei zu machen. Wie im Bumerang von instagram App habe ich diesen CodeMachen Sie einen Video-Loop-Effekt wie Bumerang
class ViewController: UIViewController {
var avPlayer: AVPlayer!
var avPlayerLayer: AVPlayerLayer!
var paused: Bool = false
var reverse: Bool = true
override func viewDidLoad() {
super.viewDidLoad()
let theURL = Bundle.main.url(forResource:"vidio", withExtension: "mp4")
avPlayer = AVPlayer(url: theURL!)
avPlayerLayer = AVPlayerLayer(player: avPlayer)
avPlayerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
avPlayer.volume = 0
avPlayer.actionAtItemEnd = .none
avPlayerLayer.frame = view.layer.bounds
view.backgroundColor = .clear
view.layer.insertSublayer(avPlayerLayer, at: 0)
NotificationCenter.default.addObserver(self,
selector: #selector(playerItemDidReachEnd(notification:)),
name: NSNotification.Name.AVPlayerItemDidPlayToEndTime,
object: avPlayer.currentItem)
}
func playerItemDidReachEnd(notification: Notification) {
guard reverse else {
avPlayer.seek(to: kCMTimeZero)
avPlayer.rate = 1.0
reverse = true
print("normal")
return
}
print("reversa")
avPlayer.seek(to: avPlayer.currentItem!.duration,
toleranceBefore: kCMTimeZero,
toleranceAfter: kCMTimeZero)
avPlayer.rate = -1.0
reverse = false
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
avPlayer.play()
paused = false
}
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
avPlayer.pause()
paused = true
}
}
Aber wenn das Video umgekehrt, es doesn ‚t glatt aussehen und umgekehrt doesn‘ t aus dem letzten Teil des Videos starten. Irgendwelche Ideen, wie man das löst? Ich möchte das Video glatt aussehen wie in der Bumerang App Schleife
Wie würden wir es mit Bildern machen? – Mamta
gleiche Sache nur ein Array von Bildern und durchlaufen Sie sie und fügen Sie eine Animation, so dass Sie nicht alle in einem Bruchteil einer Sekunde durchlaufen. –