我正在使用Glimpse来记录UIView的内容,以便将其保存到文档目录中的文件中。我在viewDidLoad的g.startRecording行中指定文件输出的URL时遇到问题。我想将getDocumentsDirectory()
的返回值设置为URL,但将方法名称作为参数放置不起作用。我也尝试使用documentsDirectory
,这也不起作用,导致“模糊使用'startRecording”我在这里使用Swift是我的代码:
import UIKit
class ViewController: UIViewController, VLCMediaPlayerDelegate {
@IBOutlet weak var videoView: UIView!
var player: VLCMediaPlayer = VLCMediaPlayer()
let g: Glimpse = Glimpse()
let url = URL(string: "rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov")
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let media = VLCMedia(url: url!)
player.media = media
player.delegate = self
player.drawable = videoView
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
let documentsDirectory = paths[0]
player.play()
g.startRecording(videoView) { (documentsDirectory) in
<#code#>
}
}
func getDocumentsDirectory() -> URL {
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
let documentsDirectory = paths[0]
return documentsDirectory
}
@IBAction func stopButtonPressed(_ sender: UIButton) {
player.stop()
recorder.stop()
}
}
当你应该使用urls[0]
时,你正在使用.url
。例:
func write(_ data: Data, to filename: String) throws {
let documentDirectory = try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor:nil, create:false)
let fileURL = documentDirectory.appendingPathComponent(filename)
try data.write(to: fileURL)
}