91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS如何實現視頻壓縮上傳功能

發布時間:2021-06-30 12:48:01 來源:億速云 閱讀:210 作者:小新 欄目:移動開發

小編給大家分享一下iOS如何實現視頻壓縮上傳功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

代碼如下:

- (void)convertVideoWithURL:(NSURL *)url
{
  NSDate *date = [NSDate date];
  NSDateFormatter *dateformatter = [[NSDateFormatter alloc]init];
  [dateformatter setDateFormat:@"YYYY-MM-dd-HH-mm-ss"];
  NSString *dateName = [dateformatter stringFromDate:date];
  NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
  NSString *pathName = [path stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mp4",dateName]];
  NSLog(@"沙盒:%@",pathName);
  //轉碼配置
  AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil];
  AVAssetExportSession *exportSession= [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetMediumQuality];
  exportSession.shouldOptimizeForNetworkUse = YES;
  exportSession.outputURL = [NSURL fileURLWithPath:pathName];
  exportSession.outputFileType = AVFileTypeMPEG4;
  [exportSession exportAsynchronouslyWithCompletionHandler:^{
    int exportStatus = exportSession.status;
    switch (exportStatus)     {
      case AVAssetExportSessionStatusFailed:
      {
        // log error to text view
        NSError *exportError = exportSession.error;
        NSLog (@"AVAssetExportSessionStatusFailed: %@", exportError);
        [SVProgressHUD showErrorWithStatus:@"視頻壓縮失敗"];
        [SVProgressHUD dismissWithDelay:1.0];
        break;
      }
      case AVAssetExportSessionStatusCompleted:
      {
        self.videoData = [NSData dataWithContentsOfFile:pathName];

        [[NetTool shareDL]upLoadVideoWithURL:@"http://192.168.1.102/php/image.php" paremeter:nil data:self.videoData videoName:[NSString stringWithFormat:@"%@.mp4",dateName] progress:^(NSProgress * _Nonnull uploadProgress) {

          [SVProgressHUD showProgress:1.0*uploadProgress.completedUnitCount/uploadProgress.totalUnitCount status:@"正在上傳"];
          NSLog(@"正在上傳%f%%",(1.0*uploadProgress.completedUnitCount/uploadProgress.totalUnitCount)*100);

        } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
          [SVProgressHUD showSuccessWithStatus:@"上傳成功"];
          [SVProgressHUD dismissWithDelay:1.0];
        } fail:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
          [SVProgressHUD showErrorWithStatus:@"上傳失敗"];
          [SVProgressHUD dismissWithDelay:1.0];
        }];

      }
    }
  }];
}
[manager POST:url parameters:parameter constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
    [formData appendPartWithFileData:videoData name:@"upimage" fileName:videoName mimeType:@"video/mp4"];
  } progress:^(NSProgress * _Nonnull uploadProgress) {
    progress(uploadProgress);
  } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
    success(task,responseObject);
  } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    fail(task,error);
  }];

以上是“iOS如何實現視頻壓縮上傳功能”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

ios
AI

林州市| 左贡县| 杂多县| 万安县| 宁南县| 府谷县| 巩义市| 来安县| 旅游| 大邑县| 沅陵县| 邢台县| 合水县| 龙岩市| 阿拉尔市| 偃师市| 盐池县| 乌拉特前旗| 新邵县| 德令哈市| 翼城县| 鄂州市| 岳池县| 阿坝| 本溪市| 白山市| 大洼县| 辽阳县| 牙克石市| 莫力| 运城市| 彭水| 武威市| 洪湖市| 新绛县| 平泉县| 和顺县| 迁西县| 乡宁县| 西乡县| 晋江市|