如何在swift中嵌入多个视频?

如何在swift中嵌入多个视频?,swift,uiwebview,uikit,avfoundation,uipagecontrol,Swift,Uiwebview,Uikit,Avfoundation,Uipagecontrol,如何在swift中创建多个mp4或mov文件的数组。我能够在uiwebview中显示单个视频。我有pagecontrol来显示一些文本,但我需要像文本一样显示不同的视频。当页面控件启动时,它应该显示下一个视频。下面是第一视图控制器和页面视图控制器的代码 import UIKit class ViewController: UIViewController,UIPageViewControllerDataSource { //var pageImages:NSArray! va

如何在swift中创建多个mp4或mov文件的数组。我能够在uiwebview中显示单个视频。我有pagecontrol来显示一些文本,但我需要像文本一样显示不同的视频。当页面控件启动时,它应该显示下一个视频。下面是第一视图控制器和页面视图控制器的代码

import UIKit

class ViewController: UIViewController,UIPageViewControllerDataSource {

    //var pageImages:NSArray!
    var ouotes: NSArray!
    var video: NSArray!
    var pageViewController:UIPageViewController!

    @IBOutlet weak var GenerateNumbers: UIBarButtonItem!

    override func viewDidLoad() {
        super.viewDidLoad()

        video = ["2.mov", "1.mov", "4.mov"]
        ouotes =  ["sometext" ]

        // NSArray(objects:"ap", "bg", "gfb")
        /*  UIGraphicsBeginImageContext(self.view.frame.size)
        UIImage(named: "money")?.draw(in: self.view.bounds)

        let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!

        UIGraphicsEndImageContext()

        self.view.backgroundColor = UIColor(patternImage: image)*/

        self.pageViewController = self.storyboard?.instantiateViewController(withIdentifier: "MyPageViewController") as! UIPageViewController

        self.pageViewController.dataSource = self

        let initialContenViewController = self.pageTutorialAtIndex(0) as ContentHolder

        self.pageViewController.setViewControllers([initialContenViewController], direction: UIPageViewControllerNavigationDirection.forward, animated: true, completion: nil)

        self.pageViewController.view.frame = CGRect(x: 0, y: 100, width: self.view.frame.size.width, height: self.view.frame.size.height-100)

        self.addChildViewController(self.pageViewController)
        self.view.addSubview(self.pageViewController.view)
        self.pageViewController.didMove(toParentViewController: self)

        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    func pageTutorialAtIndex(_ index: Int) -> ContentHolder {

        let pageContentViewController = self.storyboard?.instantiateViewController(withIdentifier: "ContentHolder") as! ContentHolder

        pageContentViewController.imageFileName = ouotes[index] as! String
        pageContentViewController.videoFileName = video [index] as! String
        pageContentViewController.pageIndex = index

        return pageContentViewController

    }


    public func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController?
    {
        let viewController = viewController as! ContentHolder
        var index = viewController.pageIndex as Int

        if (index == 0 || index == NSNotFound) {
            return nil
        }

        index -= 1

        return self.pageTutorialAtIndex(index)
    }

    public func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController?
    {
        let viewController = viewController as! ContentHolder
        var index = viewController.pageIndex as Int

        if ((index == NSNotFound)) {
            return nil
        }

        index += 1

        if (index == ouotes.count) {
            return nil
        }

        if (index == video.count) {
            return nil
        }
        return self.pageTutorialAtIndex(index)
    }



    public func presentationCount(for pageViewController: UIPageViewController) -> Int {   
        return ouotes.count
    }

    public func presentationIndex(for pageViewController: UIPageViewController) -> Int{

        return 0
    }
}
以及用于显示文本和视频的pagecontrol视图

import Foundation
import UIKit
import AVKit
import AVFoundation

class ContentHolder: UIViewController {

    var imageFileName: String!
    var videoFileName: String!
    var pageIndex:Int!

    @IBOutlet weak var EuroScrollView: UIScrollView!
    @IBOutlet weak var VideoView: UIWebView!

    @IBOutlet weak var myLabel: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()

       // let fileURL = NSURL (fileURLWithPath: "/Users/nafu/Desktop/2.mov")

        VideoView.loadHTMLString("<iframe width = \"\(self.VideoView.frame.width) \" height =\"\(self.VideoView.frame.height)\" src = \"\(videoFileName)\"> </iframe>", baseURL: nil)

       myLabel.text = imageFileName
       myLabel.numberOfLines = 0
       myLabel.lineBreakMode = NSLineBreakMode.byWordWrapping
       myLabel.font = UIFont(name:"HelveticaNeue-Bold", size: 15.0)

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}
<代码>导入基础 导入UIKit 进口AVKit 进口AVF基金会 类ContentHolder:UIViewController{ var-imageFileName:String! var videoFileName:String! var pageIndex:Int! @iBCROLLVIEW:UIScrollView! @IBVAR视频视图:UIWebView! @IBVAR myLabel:UILabel! 重写func viewDidLoad(){ super.viewDidLoad() //让fileURL=NSURL(fileURLWithPath:“/Users/nafu/Desktop/2.mov”) VideoView.loadHTMLString(“,baseURL:nil) myLabel.text=图像文件名 myLabel.numberOfLines=0 myLabel.lineBreakMode=NSLineBreakMode.byWordWrapping myLabel.font=UIFont(名称:“HelveticaNeue粗体”,大小:15.0) } 重写函数didReceiveMemoryWarning(){ 超级。我收到了记忆警告() //处置所有可以重新创建的资源。 } }
提前谢谢

你已经试过什么了?请提供尽可能多的细节,一些代码,更好的解释会得到更好的回答现在我已经编辑了我的问题视频URL是什么或者视频存储在哪里?视频是.mov文件,存储在本地计算机中,我已经将它们导入到我的xcode项目中。你尝试过这些其他答案吗?然后呢?如果视频是应用程序包的一部分,则可以加载该视频。在构建规则中确保视频也被复制到设备中