在Swift中使用Glimpse时,将文档目录指定为文件输出URL

问题描述 投票:0回答:1

我正在使用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()
    }
}
ios swift nsfilemanager glimpse
1个回答
0
投票

当你应该使用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)
}
© www.soinside.com 2019 - 2024. All rights reserved.