【问题标题】:Cannot invoke load data with list type NSURL...loading local web view content无法调用列表类型 NSURL 的加载数据...正在加载本地 Web 视图内容
【发布时间】:2016-03-10 01:28:42
【问题描述】:

我正在尝试通过 webview 对象制作一个在后台播放 mp4 的登录页面。这是我的代码,错误就在这一行。

webView.loadData(url!, MIMEType: "video/mp4", textEncodingName: String(), baseURL: NSURL()) 

错误是

"cannot invoke 'loadData' with argument list of type'(NSURL....'"

我不知道接下来该尝试什么。先感谢您。

class ViewController: UIViewController {

@IBOutlet var webView: UIWebView!

var moviePlayer: MPMoviePlayerController!

func loginVideo(){

    webView.frame = self.view.frame

    let filePath = NSBundle.mainBundle().pathForResource("movie", ofType:"mp4")
    let url = NSURL.fileURLWithPath(filePath!)

    webView.loadData(url!, MIMEType: "video/mp4", textEncodingName: String(), baseURL: NSURL())
    webView.userInteractionEnabled = false;

    let filter = UIView()
    filter.frame = self.view.frame
    filter.backgroundColor = UIColor.blackColor()
    filter.alpha = 0.05
    self.view.addSubview(filter)
}
}

【问题讨论】:

    标签: swift uiwebview swift2 nsurl


    【解决方案1】:

    您必须使用 NSData 代替 URL。 loadData 方法的实际签名是,

    wkWebView.loadData(data: NSData, MIMEType: String, characterEncodingName: String, baseURL: NSURL)
    

    尝试替换下面的行,

    let url = NSURL.fileURLWithPath(filePath!)
    webView.loadData(url!, MIMEType: "video/mp4", textEncodingName: String(), baseURL: NSURL())
    

    let data = NSData(filePath!)
    webView.loadData(data, MIMEType: "video/mp4", textEncodingName: String(), baseURL: NSURL())
    

    【讨论】:

    • 不幸的是,这给了我错误“找不到接受 String() 类型参数的 NSData 的初始化程序”
    • 我用let data = (NSBundle.mainBundle().pathForResource("movie", ofType:"mp4"))!.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false) webView.loadData(data, MIMEType: "video/mp4", textEncodingName: String(), baseURL: NSURL()) 唯一的问题是 Sinulator 没有播放视频。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多