1.在模块中引入相关依赖 (父模块中管理依赖设置依赖版本)
子模块中的pom.xml
<dependencies>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-vod</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-sdk-vod-upload</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
</dependency>
</dependencies>
2.开通阿里云视频点播服务 按流量计费
3. 创建初始化类(阿里云提供的java SDK文档中)
package com.kaki.testvod;
import com.aliyun.oss.ClientException;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.profile.DefaultProfile;
public class InitObject {
public static DefaultAcsClient initVodClient(String accessKeyId, String accessKeySecret) throws ClientException {
String regionId = "cn-shanghai"; // 点播服务接入区域
DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);
DefaultAcsClient client = new DefaultAcsClient(profile);
return client;
}
}
4.测试
package com.kaki.testvod;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.vod.model.v20170321.GetPlayInfoRequest;
import com.aliyuncs.vod.model.v20170321.GetPlayInfoResponse;
import com.aliyuncs.vod.model.v20170321.GetVideoPlayAuthRequest;
import com.aliyuncs.vod.model.v20170321.GetVideoPlayAuthResponse;
import java.util.List;
import static com.kaki.testvod.InitObject.initVodClient;
public class testVod {
public static void main(String[] args) {
//获取视频播放路径 未加密的视频可以直接播放
// getVodUrl();
// 获取视频播放凭证 加密和未加密的视频都可以播放
getVodAuth();
}
public static void getVodAuth() {
//1. 初始化 client对象
DefaultAcsClient client = initVodClient("acesskeyid", "acessksysecret");
//2.得到reques对象 像request对象设置视频id
GetVideoPlayAuthResponse response = new GetVideoPlayAuthResponse();
GetVideoPlayAuthRequest request = new GetVideoPlayAuthRequest();
request.setVideoId("视频id");
try{
//3.通过request对象得到response对象
response = client.getAcsResponse(request);
//4.获取视频播放凭证
System.out.print("PlayAuth = " + response.getPlayAuth() + "\n");
}catch (Exception e){
e.printStackTrace();
}
}
private static void getVodUrl() {//main是静态方法 静态方法不能调用成员方法 这个方法需要也是static
//1.初始化client对象
DefaultAcsClient client = initVodClient("acessksyid", "acessksysecret");
//2.创建 request response对象 给request对象设置视频id
GetPlayInfoRequest request = new GetPlayInfoRequest();
request.setVideoId("视频id");
GetPlayInfoResponse response = new GetPlayInfoResponse();
try{
//3.再利用request对象得到response对象
response = client.getAcsResponse(request);
//4. 利用response对象得到视频的相关信息
List<GetPlayInfoResponse.PlayInfo> playInfoList = response.getPlayInfoList();
//播放地址
for (GetPlayInfoResponse.PlayInfo playInfo : playInfoList) {
System.out.print("PlayInfo.PlayURL = " + playInfo.getPlayURL() + "\n");
}
}catch (Exception e){
e.printStackTrace();
}
}
}