使用OSS的SDK上传可以设置上传CallBack(https://help.aliyun.com/document_detail/31989.html?spm=5176.doc31853.2.2.vRCc3A)
但是好像使用vod上传不支持。看了aliyun-vod-upload-android-sdk.jar 1.0.6的源码,OSSUploaderImpl源码中completeMultiPartUpload方法中没有调用setCallbackParam和setCallbackVars,请问如何处理
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
确实,根据您提供的信息,阿里云VOD服务的Android SDK在特定版本中可能没有直接提供上传回调(Callback)功能,这与OSS SDK直接提供的回调设置有所不同。不过,这并不意味着无法实现类似的功能。您可以考虑以下几种方式来间接实现视频文件上传状态的通知或回调:
使用VOD服务的事件通知: 阿里云VOD服务支持事件通知,您可以在VOD控制台配置事件通知,当视频上传、转码等操作完成时,VOD服务会自动将消息发送到您指定的URL(如您的服务器端点)。这样,您可以在服务器端接收这些通知并进行相应的处理。
轮询查询上传状态: 如果事件通知机制不符合您的需求,您也可以采取主动轮询的方式,即在客户端或服务端定时调用VOD API查询视频上传及处理的状态。例如,使用GetVideoInfo或ListVideos等API来检查视频是否已经成功上传或处理完成。
自定义回调逻辑: 虽然VOD Android SDK本身没有直接提供设置回调参数的方法,但您可以在上传完成后,在您的应用代码中手动触发一个逻辑,比如通过网络请求向您的服务器发送一个通知,告知视频上传已完成。这需要您在上传成功的回调方法中添加相应的逻辑。
升级或自定义SDK: 如果上述方法都不满足需求,且您对技术有较深的理解,可以考虑查看VOD SDK是否有新版本发布,新版本可能已经加入了回调功能。或者,您也可以尝试自己修改当前使用的VOD SDK源码,增加上传完成后的回调逻辑,然后编译自定义的SDK版本供您的应用使用。但这通常需要较高的技术门槛,并且需要确保修改后的SDK能够稳定工作。
综上所述,推荐首先考虑使用VOD服务的事件通知功能,这是最符合云服务设计原则且较为高效的方式。如果需要更灵活的控制,可以结合应用层的自定义逻辑来实现上传完成后的处理。