Я использую SDK (YITechnology), но у меня проблема с загрузкой видео, размер которого превышает 40 МБ. Когда я использую этот код во ViewController, видео размером менее 40 Мбайт подходит. Проблема в том, что если они больше 40мб, то останавливается. Как я могу сказать, чтобы продолжить загрузку?
Я попробовал этот билет , но это не совсем то же самое ...
ActionCamera:
@objc public class ActionCamera : NSObject, URLSessionDownloadDelegate {
public func downloadFile(fileName: String, destFilePath: String, success: ((YICameraSDK.DownloadTask) -> ())?, fail: ((Error) -> ())?) -> YICameraSDK.ActionCamera
/// Cancel current download task.
public func cancelDownlad() -> YICameraSDK.ActionCamera
/// Download file from camera.
///
/// - Parameters:
/// - fileName: The file you want to download from camera.
/// - destFilePath: The file destination file path. Need to be a full path.
/// - success: This callback will be invoked multiple times to notify the progress.
/// - fail: This callback will be invoked if download failed.
public func downloadFile(fileName: String, destFilePath: String, success: ((YICameraSDK.DownloadTask) -> ())?, fail: ((Error) -> ())?) -> YICameraSDK.ActionCamera
public func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL)
public func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64)
public func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?)
}
ViewController.swift:
private var mCamera: ActionCamera!;
self.mCamera.downloadFile(fileName: lastFileName, destFilePath: originPath, success:
{
downloadTask in
self.testLbl.text = String(describing: downloadTask.downloadedBytes)
} , fail: {
error in
let alert = UIAlertView();
alert.message = error as? String;
alert.addButton(withTitle: "Ko")
alert.show()
});
Я думаю, что это легко для кого-то, кто знаком с UrlSession, но это не мой случай ...