AVPlayer, черный экран после окончания видео - PullRequest
0 голосов
/ 18 февраля 2019

У меня черный экран после того, как видео закончилось, но я хотел бы перенаправить его на другую раскадровку, когда видео закончится.

Может ли кто-нибудь помочь мне с этим.

Спасибо вам

import UIKit
import AVKit
import AVFoundation

class ViewController: UIViewController {

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        playVideo()
    }

    private func playVideo() {
        guard let path = Bundle.main.path(forResource: "Kristinka", ofType:"m4v") else {
            debugPrint("video.m4v not found")
            return
        }
        let player = AVPlayer(url: URL(fileURLWithPath: path))
        let playerController = AVPlayerViewController()
        playerController.showsPlaybackControls = false

        playerController.player = player

        present(playerController, animated: true) {

            player.play()



            }
        }


}

1 Ответ

0 голосов
/ 18 февраля 2019

Вам необходимо определить, когда предмет, который вы играете, достиг конца.Для этого вы можете добавить наблюдателя.Например:

func finishedVideo(_ notification: NSNotification) {
    print("Animation did finish")
}

private func playVideo() {
    guard let path = Bundle.main.path(forResource: "Kristinka", ofType:"m4v") else {
        debugPrint("video.m4v not found")
        return
    }
    let player = AVPlayer(url: URL(fileURLWithPath: path))
    let playerController = AVPlayerViewController()
    playerController.showsPlaybackControls = false

    playerController.player = player

    present(playerController, animated: true) {

        NotificationCenter.default.addObserver(self,
                                               selector: #selector(finishedVideo(_:)),
                                               name: .AVPlayerItemDidPlayToEndTime,
                                               object: player?.currentItem)

        player.play()



    }
}

И я выкопал этот код на этом очень связанном вопросе .Есть много связанных / повторяющихся ответов, если вы делаете поиск.

...