AVAssetExportSession.exportAsynchronously() 方法用于异步导出媒体文件。如果该方法没有进展,可能是由于一些问题导致的。以下是一些可能的解决方法:
let inputURL = URL(fileURLWithPath: "path_to_input_file.mov")
let outputURL = URL(fileURLWithPath: "path_to_output_file.mp4")
guard FileManager.default.fileExists(atPath: inputURL.path) else {
print("Input file does not exist")
return
}
let supportedFileTypes = AVAssetExportSession.supportedExportFormats()
print("Supported file types: \(supportedFileTypes)")
let exportSession = AVAssetExportSession(asset: asset, presetName: AVAssetExportPresetPassthrough)
exportSession?.outputURL = outputURL
exportSession?.outputFileType = AVFileType.mp4
exportSession?.exportSession(with: AVAssetExportPresetPassthrough, parameters: nil, completionHandler: { (exportSession) in
// Export completion handler
})
print("Export progress: \(exportSession.progress)")
请注意,上述解决方法是基于 Swift 语言的示例代码,您可以根据您使用的编程语言和开发环境进行相应的修改。