gpt4 book ai didi

ios - Xcode swift - 无法使用类型为 'pathForResource' 的参数列表调用 '(String!)'

转载 作者:行者123 更新时间:2023-11-30 13:21:48 24 4
gpt4 key购买 nike

请帮助我修复我的代码,因为我有以下错误:

Cannot invoke 'pathForResource' with an argument list of type '(String!)'

错误出现在这行代码上:

let urlpathString:String? = NSBundle.mainBundle().pathForResource(url)

我的完整代码:

import UIKit
import AVKit
import AVFoundation
import MediaPlayer

class ViewController: UIViewController {

let avPlayerViewControler = AVPlayerViewController()
var avPlayer:AVPlayer?
var videoNumber:Int!
var url:String!

override func viewDidLoad() {
super.viewDidLoad()
}

func playVideo() {
switch videoNumber {
case 1 : url="20"
case 2 : url="10"
default : break

let urlpathString:String? = NSBundle.mainBundle().pathForResource(url)

if let urlPath = urlpathString {
let movieUrl = NSURL(fileURLWithPath: urlPath)
self.avPlayer = AVPlayer(URL: movieUrl)
self.avPlayerViewControler.player = self.avPlayer

}
}
}

@IBAction func Button(sender: UIButton){
videoNumber=1
playVideo()
}

@IBAction func Button2(sender: UIButton) {
videoNumber=2
playVideo()
}
}

最佳答案

NSBundle 没有简单的 pathForResource 方法,至少有第二个参数,例如pathForResource:ofType:

由于您无论如何都需要 NSURL,因此请使用 URL 发布的 API,将整个 if let 表达式替换为

func playVideo() {
switch videoNumber {
case 1 : url="20"
case 2 : url="10"
default : break
}

if let movieUrl = NSBundle.mainBundle().URLForResource(url, withExtension: "mp4") {
self.avPlayer = AVPlayer(URL: movieUrl)
self.avPlayerViewControler.player = self.avPlayer
}
}

您必须将 mp4 更改为预期的扩展名。

关于ios - Xcode swift - 无法使用类型为 'pathForResource' 的参数列表调用 '(String!)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37712603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com