zoukankan      html  css  js  c++  java
  • swift 阿里云短视频上传

     1 //视频上传
     2     private func upLoadVideo(videoPath: String){
     3         
     4         let Auth = "eyJTZWN1cml0eVRva2VuIjoiQ0FJUzBBUjFxNkZ0NUIyeWZTaklyNG52TGU3MTJZcEZnN2VJV0g3RHFETm1PY3hxdWZETmlEejJJSDlJZEhWb0FPOGZ2dlUwbTJ0WTdQc1psclV4L1NmdTJrS3ZSaHBrUnZ2WkVwUHR3eklpai9nTFpaRWlhelJteWhlZm81WG1QWEZUUd5akt2aW9TIiwiRXhwaXJhdGlvbiI6IjM2MDAiLCJSZWdpb24iOiJjbi1zaGFuZ2hhaSJ9"
     5         let Address = "eyJFbmRwb2ludCI6Ih0dHBzOi8vb3NzLWNuLXNoYW5naGFpLmFsaXl1bmNzLmNvbSIsIkJ1Y2tldCI6Im91Jzdi8zMmIxYWFkNi0xNmQ0ZTMzZWU0Mi8zMmIxYWFkNi0xNmQ0ZTMzZWU0Mi5tcDQifQ=="
     6         
     7         self.uploader = VODUploadClient.init()
     8         weak var weakSelf = self
     9         let lister: VODUploadListener = VODUploadListener.init()
    10         
    11         //上传开始:(^OnUploadStartedListener) (UploadFileInfo* fileInfo),fileInfo中存放的是视频信息
    12         lister.started = {(info) in
    13             XLOG("开始上传")
    14             XLOG(info?.filePath)
    15             weakSelf?.uploader?.setUploadAuthAndAddress(info, uploadAuth: Auth, uploadAddress: Address)
    16         }
    17 
    18         //上传进度:(UploadFileInfo* fileInfo, long uploadedSize, long totalSize), uploadedSize为上传数据量, totalSize为总文件大小
    19         lister.progress = {(info, uploadeSize, totalSize) in
    20             XLOG("(uploadeSize)===== 上传中 =====(totalSize)")
    21         }
    22 
    23         //上传完成:(UploadFileInfo* fileInfo, VodUploadResult* result), result存放了视频id或者文件(图片)的文件名
    24         lister.finish = {(info, result) in
    25             XLOG("上完成")
    26             XLOG(result)
    27             XLOG(result?.videoId)
    28         }
    29         
    30         //上传失败:(UploadFileInfo* fileInfo, NSString *code, NSString * message),code为错误码,messgae为错误信息
    31         lister.failure = {(info, code, msg) in
    32             XLOG("上传失败")
    33             XLOG(msg)
    34         }
    35         
    36         //上传凭证过期:(^OnUploadTokenExpiredListener) ()在这个回调中重新获取上传凭证
    37         lister.expire = {() in
    38             XLOG("凭证过期了")
    39             weakSelf?.uploader?.resume(withAuth: Auth)
    40         }
    41         
    42         //重新获取凭证:(^OnUploadRertyResumeListener) ()这个回调表示重新获取上传凭证成功
    43         lister.retryResume = {() in
    44             XLOG("要重新获取凭证")
    45         }
    46         
    47         //重新上传:(^OnUploadRertyListener) ()这个回调表示重新开始上传
    48         lister.retry = {() in
    49             XLOG("要重新上传了")
    50         }
    51         
    52         self.uploader?.setListener(lister)
    53         
    54         
    55         let  vodInfo: VodInfo = VodInfo.init()
    56         vodInfo.title       = "laOla-iOS-Test1"
    57         vodInfo.desc        = ""
    58         vodInfo.cateId      = 0
    59         vodInfo.tags        = ""
    60         
    61         self.uploader?.addFile(videoPath, vodInfo: vodInfo)
    62         self.uploader?.start()
    63         
    64     }



  • 相关阅读:
    委托使用不当导致内存变大
    Reactive Extension
    WPF TextBox输入显示提示
    Reactive Extensions 初识
    WPF 验证
    SPOJ 1487. Query on a tree III
    HDU3966 Aragorn's Story
    SPOJ 2939. Query on a tree V
    SPOJ 913. Query on a tree II
    SPOJ2666. Query on a tree IV
  • 原文地址:https://www.cnblogs.com/-yun/p/11558916.html
Copyright © 2011-2022 走看看