2017-04-01 7 views
-1

PHLivePhoto을 인스턴스화하려고 시도하지만 라이브 사진을 구성하는 비디오를 저장할 때마다 제대로 작동하지 않습니다. 내가 비디오 검색 하려고 할 때스위프트 놀이터에서 URL에 비디오를 저장하는 방법

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) 
} 

이는 다음과 같습니다 : 현재

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? 
} 

을 내 의혹은,

여기에 내가 그 비디오를 수출 처리 쓴 작은 코드 조각입니다 지정한 URL에 쓸 수 없습니다. 그러나 내 이해는 PHLivePhoto 개체를 만들려고 할 때마다 자원을 Data 대신 URL으로 지정해야합니다. 이것이 가능하다면 데이터 대신 URL으로 내보내는 대신 데이터를 사용할 수 있습니다. 나는 틀릴 수도 있지만, 으로 PHLivePhoto을 만드는 방법을 찾지 못했습니다. PHAssetResource 클래스가 있지만 PHLivePhoto의 데이터 파일이 PHLivePhoto을 만들지 않도록하는 데 도움이됩니다.

그래서 나는이 순간에 믿고 내 가능한 해결 방법은 다음과 같습니다 나는 URL로 비디오를 절약 할 수있는 방법

  1. 그림 밖으로.
  2. URL 대신 Data을 통해 실시간 사진을 만들어 사용해보세요.
+0

fileURL 데이터 위치가 바로 –

+0

@LeoDabus 동의하지만 PHLivePhoto를 만들 때이 메소드를 사용해야합니다 : 요청 (리소스 파일 URL : 자리 표시 자 Image : 대상 포함) 크기 : 내용 모드 : 결과 처리기 :)'. 보시다시피'Data' 대신에'[URL]'을 인자로 취합니다. – Harish

+0

@LeoDabus 다음은 관련 문서입니다. https://developer.apple.com/reference/photos/phlivephoto/1616434-request – Harish

답변

1

데이터가있는 곳의 fileURL입니다. temporary folder에 데이터를 쓰고 그 파일 url을 메소드에 전달하십시오.