VOD-视频点播引用最新版的java SDK,vod的demo无法运行。大概看了一下没有com.aliyun.vod20170321...的包,只有com.aliyuncs....的引用。这是啥问题?POM引用如下: com.aliyun aliyun-java-sdk-core 4.6.0
com.aliyun aliyun-java-sdk-vod 2.16.16 运行的demo如下: public static void main(String[] args_) throws Exception { java.util.List<String> args = java.util.Arrays.asList(args_);
com.aliyun.vod20170321.Client client = Sample.initVodClient(com.aliyun.darabonba.env.EnvClient.getEnv("ACCESS_KEY_ID"), com.aliyun.darabonba.env.EnvClient.getEnv("ACCESS_KEY_SECRET"), args.get(0));
// 1.获取视频上传地址和凭证,并生成视频信息
CreateUploadVideoRequest createUploadVideoRequest = new CreateUploadVideoRequest()
.setTitle(args.get(1))
.setFileName(args.get(2));
CreateUploadVideoResponse createUploadVideoResponse = client.createUploadVideo(createUploadVideoRequest);
com.aliyun.teaconsole.Client.log(com.aliyun.teautil.Common.toJSONString(TeaModel.buildMap(createUploadVideoResponse)));
// 媒体id
String uploadVideoId = createUploadVideoResponse.body.videoId;
com.aliyun.teaconsole.Client.log(uploadVideoId);
// 如果视频文件过大,上传超时后可以刷新视频凭证,然后继续上传
RefreshUploadVideoRequest refreshUploadVideoRequest = new RefreshUploadVideoRequest()
.setVideoId(uploadVideoId);
RefreshUploadVideoResponse refreshUploadVideoReponse = client.refreshUploadVideo(refreshUploadVideoRequest);
com.aliyun.teaconsole.Client.log(com.aliyun.teautil.Common.toJSONString(TeaModel.buildMap(refreshUploadVideoReponse)));
// 2.oss视频文件上传,需要用户实现
// 3.上传过程中,获取媒体上传详情
GetUploadDetailsRequest getUploadDetailsRequest = new GetUploadDetailsRequest()
.setMediaIds(uploadVideoId);
GetUploadDetailsResponse getUploadDetailsReponse = client.getUploadDetails(getUploadDetailsRequest);
com.aliyun.teaconsole.Client.log(com.aliyun.teautil.Common.toJSONString(TeaModel.buildMap(getUploadDetailsReponse)));
// 4.媒体上传完成之后,可以获取媒体播放信息进行播放
// 4.1 通过播放凭证播放
GetPlayInfoRequest getPlayInfoRequest = new GetPlayInfoRequest()
.setVideoId(uploadVideoId);
GetPlayInfoResponse getPlayInfoReponse = client.getPlayInfo(getPlayInfoRequest);
com.aliyun.teaconsole.Client.log(com.aliyun.teautil.Common.toJSONString(TeaModel.buildMap(getPlayInfoReponse)));
// 4.2 通过播放地址播放
GetVideoPlayAuthRequest getVideoPlayAuthRequest = new GetVideoPlayAuthRequest()
.setVideoId(uploadVideoId);
GetVideoPlayAuthResponse getVideoPlayAuthReponse = client.getVideoPlayAuth(getVideoPlayAuthRequest);
com.aliyun.teaconsole.Client.log(com.aliyun.teautil.Common.toJSONString(TeaModel.buildMap(getVideoPlayAuthReponse)));
}
根据您提供的代码和POM文件,可以看出问题可能在于引用的SDK版本不兼容导致的。您使用的aliyun-java-sdk-core和aliyun-java-sdk-vod的版本分别为4.6.0和2.16.16,但是您代码中的import语句是com.aliyun.vod20170321.Client,这个Client类并不存在于aliyun-java-sdk-vod 2.16.16版本中,而是在较旧的版本中存在,因此无法编译并运行您的代码。
解决方法是,您可以选择使用aliyun-java-sdk-vod的较早版本,例如1.0.0或1.0.5版本,这些版本中包含了com.aliyun.vod20170321.Client类。您也可以考虑修改代码中的import语句,改为com.aliyuncs.v20170321.vod.Client,这个类是在aliyun-java-sdk-vod 2.16.16版本中存在的。
根据你提供的信息,可以看出你使用的是阿里云VOD-视频点播的Java SDK,但是你引用的依赖版本不对,导致找不到对应的包。
根据官方文档显示,当前最新版本的阿里云Java SDK for VOD是2.3.7,你可以尝试将POM文件中的依赖改成以下代码:
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.6.2</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-vod</artifactId>
<version>2.3.7</version>
</dependency>
之后重新构建你的项目,看看是否能够正常运行VOD-视频点播的demo。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。