воспроизведение видео (AVPlayer ViewController, AVkit) не работает (не появляется)

Я искал часы и не нашел решения... Код воспроизведения видео не работает (локальное видео не появляется...) Я также пытаюсь открыть видео через открытое видео с кодом URL, оба они не сработало. надеюсь, вы сможете найти решение для этого, спасибо!

Код ниже:

import UIKit
import AVKit
import AVFoundation

class ViewController2: UIViewController {

    func forbutton(name : String, type : String)  {
        func viewDidAppear(_ animated: Bool) {
            super.viewDidAppear(animated)
            playVideo(name: name, type: type)
        }
    }


    private func playVideo(name : String, type : String) {
        guard let path = Bundle.main.path(forResource: "\(name)", ofType:"\(type)") else {
            debugPrint("video not found")
            return
        }
        let player = AVPlayer(url: URL(fileURLWithPath: path))
        let playerController = AVPlayerViewController()
        playerController.player = player
        present(playerController, animated: true) {
            player.play()
        }
    }




    @IBAction func fatB(_ sender: Any) {
        forbutton(name: "fatB", type: "mp4")

    }


    @IBAction func coderB(_ sender: Any) {

        forbutton(name: "birdC", type: "mp4")
    }


    @IBAction func clashB(_ sender: Any) {

        forbutton(name: "clash", type: "mp4")
    }

person meitav asulin    schedule 18.05.2018    source источник
comment
Я бы рекомендовал убрать viewDidAppear из функции forbutton.   -  person Pranav Kasetti    schedule 18.05.2018
comment
Я пробовал, но проблема в том, что этот метод не принимает параметры, и мне нужно изменить их для каждой кнопки.   -  person meitav asulin    schedule 18.05.2018
comment
нет, проблема в том, что у вас есть определение функции внутри другой функции. это не сработает для того, что вы пытаетесь сделать   -  person picciano    schedule 18.05.2018


Ответы (1)


В настоящее время вы вставляете функцию в другую, она должна быть

func forbutton(name : String, type : String)  {

    playVideo(name: name, type: type)

}

Если вы хотите воспроизвести его, когда появится вид

func viewDidAppear(_ animated: Bool) {

    super.viewDidAppear(animated)

    forbutton(name: "fatB", type: "mp4")
}
person Sh_Khan    schedule 18.05.2018
comment
Скачки кода продолжают присылать мне видео, недоступное, хотя я добавил видео на этапах сборки. Ты знаешь почему? - person meitav asulin; 18.05.2018