Je suis en train de instancier un PHLivePhoto
mais chaque fois que je tente de sauver la vidéo qui constitue la photo en direct, je ne peux pas le faire fonctionner.Comment enregistrer une vidéo sur une URL dans Playgrounds Swift
Voici un petit extrait de code que j'ai écrit que poignées exportation la vidéo:
public func exportFilteredVideo(to outputURL: URL, completion: @escaping (Void) -> Void) {
if FileManager.default.fileExists(atPath: outputURL.path) {
try? FileManager.default.removeItem(at: outputURL)
}
let export = AVAssetExportSession(asset: asset, presetName: AVAssetExportPresetMediumQuality)!
export.outputFileType = AVFileTypeQuickTimeMovie
export.outputURL = outputURL
export.videoComposition = generateComposition()
export.exportAsynchronously(completionHandler: completion)
}
C'est lorsque je tente de récupérer la vidéo:
let destURL = url.deletingLastPathComponent().appendingPathComponent("Test.mov")
pixellationFilter.exportFilteredVideo(to: destURL) {
print(try! destURL.checkResourceIsReachable()) //An error is thrown! Why though, isn't the export completed?
}
Actuellement, mes soupçons sont vous pourriez ne pas être en mesure d'écrire au URL
spécifié. Cependant, je crois comprendre que chaque fois que je veux créer un objet PHLivePhoto
je besoin de préciser les ressources comme URL
au lieu de Data
. Si cela est possible, je serais en mesure d'utiliser plutôt les données au lieu de l'exporter vers un URL
. Je peux me tromper, mais je ne trouve pas vraiment un moyen de créer un PHLivePhoto
avec Data
. Il y a une classe PHAssetResource
mais qui aide seulement pour obtenir les fichiers de données du PHLivePhoto
ne pas créer un PHLivePhoto
.
Alors mes solutions possibles, je crois, à ce moment sont:
- Figure comment je peux enregistrer la vidéo en tant que
URL
. - essayer de créer une photo en direct par
Data
au lieu deURL
.
l'URL fileURL où se trouvent les données –
@LeoDabus D'accord, mais lors de la création d'une «PHLivePhoto», j'ai besoin d'utiliser cette méthode: 'request (avec URL de fichier de ressources: placeholder Image: target Taille: contenu Mode: résultat Gestionnaire:) '. Comme vous pouvez le voir, il prend un '[URL]' comme argument au lieu de 'Data'. – Harish
@LeoDabus Voici la documentation pertinente: https://developer.apple.com/reference/photos/phlivephoto/1616434-request – Harish