播放背景视频

时间:2016-12-23 21:40:49

标签: swift3

我正在尝试播放背景视频,但我遇到了一行代码问题。我收到一条错误消息“无法为没有安排的类型'URL'调用初始化程序”在此行“open var contentURL:URL = URL()”

open class VideoSplashViewController: UIViewController {

  fileprivate let moviePlayer = AVPlayerViewController()
  fileprivate var moviePlayerSoundLevel: Float = 1.0
  open var contentURL: URL = URL() {
    didSet {
      setMoviePlayer(contentURL)
    }
  }

  open var videoFrame: CGRect = CGRect()
  open var startTime: CGFloat = 0.0
  open var duration: CGFloat = 0.0
  open var backgroundColor: UIColor = UIColor.black {
    didSet {
     view.backgroundColor = backgroundColor
   }
 }

我不知道如何解决这个问题,请帮忙

2 个答案:

答案 0 :(得分:1)

错误消息是不言自明的,URL类没有没有参数的初始化程序:)

如果您查看 网址 类 - 按住CMD键并点击网址 - ,你会注意到没有像这样的初始化器:

init() {}

因此,您不能只写URL(),因为这需要上面的初始化程序。但是,URL类中有许多其他初始值设定项,例如:

init?(string: String) {}
init(fileURLWithPath path: String)
...

您可以使用其中任何一项初始化 contentURL 实例。

open var contentURL: URL = URL(string: "") {/**/}
open var contentURL: URL = URL(fileURLWithPath: "") {/**/}

<强> What is Initializer?

答案 1 :(得分:0)

您应该替换以下代码

open var contentURL: URL = URL() {
didSet {
  setMoviePlayer(contentURL)
}}

用这个:

 public var contentURL: NSURL = NSURL() {
didSet {
  setMoviePlayer(contentURL)
}}

这将解决您的问题。