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 }