我正在使用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()
}
}
最佳答案
当您应该使用 .url
时,您正在使用 urls[0]
。示例:
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)
}
关于ios - 在 Swift 中使用 Glimpse 时指定文档目录作为文件输出 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55570539/