我正在尝试播放背景视频,但我遇到了一行代码问题。我收到一条错误消息“无法为没有安排的类型'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
}
}
我不知道如何解决这个问题,请帮忙
答案 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)
}}
这将解决您的问题。