在 Swift 中使用 Glimpse 时将文档目录指定为文件输出 URL
Posted
技术标签:
【中文标题】在 Swift 中使用 Glimpse 时将文档目录指定为文件输出 URL【英文标题】:Specifying documents directory as file output URL while working with Glimpse in Swift 【发布时间】:2019-04-08 09:45:10 【问题描述】:我正在使用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()
【问题讨论】:
请显示错误。上面的代码中似乎没有使用“getDocumentsDirectory”方法。 【参考方案1】:当您应该使用 .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)
【讨论】:
以上是关于在 Swift 中使用 Glimpse 时将文档目录指定为文件输出 URL的主要内容,如果未能解决你的问题,请参考以下文章
在触摸时将动画添加到 SKSpriteNode (Swift)
如何在使用桥接头时将数据(字典)从 Objective-C 控制器传递到 Swift `viewcontroller` 中?还有其他方法吗?