全部产品

截图模板

更新时间:2020-12-10 14:17

本篇文档提供了Java SDK截图模板功能的API调用示例。包含添加截图模板、修改截图模板、删除截图模板、查询截图模板列表等。

初始化客户端

使用前请先初始化客户端,请参见初始化

添加截图模板

调用AddVodTemplate接口,完成添加截图模板功能。

接口参数和返回字段请参见AddVodTemplate。调用示例如下:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.vod.model.v20170321.AddVodTemplateRequest;
import com.aliyuncs.vod.model.v20170321.AddVodTemplateResponse;

/**
 * 构建截图模板的配置数据,根据具体设置需求修改对应的参数值
 * (以下代码示例为雪碧图完整配置)
 * @return
 */
public static JSONObject buildSnapshotTemplateConfig() {
    JSONObject templateConfig = new JSONObject();
    JSONObject snapshotConfig = new JSONObject();
    snapshotConfig.put("Count", "50");
    snapshotConfig.put("Interval", "1");
    snapshotConfig.put("SpecifiedOffsetTime", "0");
    snapshotConfig.put("Width", "200");
    snapshotConfig.put("Height", "200");
    snapshotConfig.put("FrameType", "normal");
    //普通截图配置(与雪碧图原始图配置共用该配置信息)
    templateConfig.put("SnapshotConfig", snapshotConfig);

    //雪碧图配置(雪碧图配置必须是建立在普通截图配置之上)
    JSONObject spriteSnapshotConfig = new JSONObject();
    spriteSnapshotConfig.put("CellWidth", "120");
    spriteSnapshotConfig.put("CellHeight", "68");
    spriteSnapshotConfig.put("Columns", "3");
    spriteSnapshotConfig.put("Lines", "10");
    spriteSnapshotConfig.put("Padding", "20");
    spriteSnapshotConfig.put("Margin", "50");
    spriteSnapshotConfig.put("KeepCellPic", "keep");
    spriteSnapshotConfig.put("Color", "tomato");
    snapshotConfig.put("SpriteSnapshotConfig", spriteSnapshotConfig);

    //截图类型(存在雪碧图配置,该类型必须是"SpriteSnapshot",否则为"NormalSnapshot")
    templateConfig.put("SnapshotType", "SpriteSnapshot");
    return templateConfig;
}

/**
 * 添加截图模板函数
 */
public static AddVodTemplateResponse addSnapshotVodTemplate(DefaultAcsClient client) throws Exception {
    AddVodTemplateRequest request = new AddVodTemplateRequest();
    //模板名称
    request.setName("截图模板添加测试");
    //模板类型,固定值为Snapshot
    request.setTemplateType("Snapshot");
    //截图模板配置数据生成
    JSONObject templateConfig = buildSnapshotTemplateConfig();
    request.setTemplateConfig(templateConfig.toJSONString());
    return client.getAcsResponse(request);
}

/**
 * 以下为调用示例
 * @param args
 * @throws ClientException
 */
public static void main(String[] args) {
    DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
    AddVodTemplateResponse response = new AddVodTemplateResponse();
    try {
        //添加截图模板
        response = addSnapshotVodTemplate(client);
        //截图模板ID
        System.out.println("SnapshotVodTemplateId = " + response.getVodTemplateId());
    } catch (Exception e) {
        System.out.println("ErrorMessage = " + e.getLocalizedMessage());
    }
    System.out.println("RequestId = " + response.getRequestId());
}

修改截图模板

调用UpdateVodTemplate接口,完成修改截图模板功能。

接口参数和返回字段请参见UpdateVodTemplate。调用示例如下:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.vod.model.v20170321.UpdateVodTemplateRequest;
import com.aliyuncs.vod.model.v20170321.UpdateVodTemplateResponse;

/**
 * 构建截图模板的配置数据,根据具体设置需求修改对应的参数值
 * (以下代码为普通截图完整配置)
 * @return
 */
public static JSONObject buildSnapshotTemplateConfig() {
    JSONObject templateConfig = new JSONObject();
    JSONObject snapshotConfig = new JSONObject();
    snapshotConfig.put("Count", "50");
    snapshotConfig.put("Interval", "1");
    snapshotConfig.put("SpecifiedOffsetTime", "0");
    snapshotConfig.put("Width", "200");
    snapshotConfig.put("Height", "200");
    snapshotConfig.put("FrameType", "normal");
    //普通截图配置(与雪碧图原始图配置共用该配置信息)
    templateConfig.put("SnapshotConfig", snapshotConfig);

    //截图类型(存在雪碧图配置,该类型必须是"SpriteSnapshot",否则为"NormalSnapshot")
    templateConfig.put("SnapshotType", "NormalSnapshot");
    return templateConfig;
}

/**
 * 修改截图模板函数
 */
public static UpdateVodTemplateResponse updateSnapshotVodTemplate(DefaultAcsClient client) throws Exception {
    UpdateVodTemplateRequest request = new UpdateVodTemplateRequest();
    //设置要修改的模板ID
    request.setVodTemplateId("53azf9d796fad9d7b862b2e****");
    //模板名称
    request.setName("截图模板修改测试");
    //截图模板配置数据生成
    JSONObject templateConfig = buildSnapshotTemplateConfig();
    request.setTemplateConfig(templateConfig.toJSONString());
    return client.getAcsResponse(request);
}

/**
 * 以下为调用示例
 * @param args
 * @throws ClientException
 */
public static void main(String[] args) {
    DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
    UpdateVodTemplateResponse response = new UpdateVodTemplateResponse();
    try {
        //修改截图模板
        response = updateSnapshotVodTemplate(client);
        //截图模板ID
        System.out.println("SnapshotVodTemplateId = " + response.getVodTemplateId());
    } catch (Exception e) {
        System.out.println("ErrorMessage = " + e.getLocalizedMessage());
    }
    System.out.println("RequestId = " + response.getRequestId());
}

删除截图模板

调用DeleteVodTemplate接口,完成删除截图模板功能。

接口参数和返回字段请参见DeleteVodTemplate。调用示例如下:

import com.aliyuncs.vod.model.v20170321.DeleteVodTemplateRequest;
import com.aliyuncs.vod.model.v20170321.DeleteVodTemplateResponse;

/**
 * 删除截图模板函数
 */
public static DeleteVodTemplateResponse deleteSnapshotVodTemplate(DefaultAcsClient client) throws Exception  
    DeleteVodTemplateRequest request = new DeleteVodTemplateRequest();
    //设置要删除的模板ID
    request.setVodTemplateId("53azf9d796fad9d7b862b2e5e5b");
    return client.getAcsResponse(request);
}

/**
 * 以下为调用示例
 * @param args
 * @throws ClientException
 */
public static void main(String[] args) {
DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
    DeleteVodTemplateResponse response = new DeleteVodTemplateResponse();
    try {
        //删除截图模板
        response = deleteSnapshotVodTemplate(client);
    } catch (Exception e) {
        System.out.println("ErrorMessage = " + e.getLocalizedMessage());
    }
    System.out.println("RequestId = " + response.getRequestId());
}

查询截图模板列表

调用ListVodTemplate接口,完成查询截图模板列表功能。

接口参数和返回字段请参见ListVodTemplate。调用示例如下:

import com.aliyuncs.vod.model.v20170321.ListVodTemplateRequest;
import com.aliyuncs.vod.model.v20170321.ListVodTemplateResponse;

/**
 * 查询截图模板列表函数
 */
public static ListVodTemplateResponse listSnapshotVodTemplate(DefaultAcsClient client) throws Exception {
    ListVodTemplateRequest request = new ListVodTemplateRequest();
    //模板类型,固定值为Snapshot
    request.setTemplateType("Snapshot");
    return client.getAcsResponse(request);
}

/**
 * 以下为调用示例
 * @param args
 * @throws ClientException
 */
public static void main(String[] args) {
    DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
    ListVodTemplateResponse response = new ListVodTemplateResponse();
    try {
        //查询截图模板列表
        response = listSnapshotVodTemplate(client);
        //打印模板数目
        System.out.println("SnapshotVodTemplateId = " + response.getVodTemplateInfoList().size());
    } catch (Exception e) {
        System.out.println("ErrorMessage = " + e.getLocalizedMessage());
    }
    System.out.println("RequestId = " + response.getRequestId());
}

查询截图模板

调用GetVodTemplate接口,完成查询截图模板功能。 接口参数和返回字段请参见GetVodTemplate。调用示例如下:

import com.aliyuncs.vod.model.v20170321.GetVodTemplateRequest;
import com.aliyuncs.vod.model.v20170321.GetVodTemplateResponse;

/**
* 查询截图模板函数
*/
public static GetVodTemplateResponse getSnapshotVodTemplate(DefaultAcsClient client) throws Exception {
    GetVodTemplateRequest request = new GetVodTemplateRequest();
    //设置要查询的模板ID
    request.setVodTemplateId("53azf9d796fad9d7b862b2e****");
    return client.getAcsResponse(request);
}

/**
 * 以下为调用示例
 * @param args
 * @throws ClientException
 */
public static void main(String[] args) {
    DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
    GetVodTemplateResponse response = new GetVodTemplateResponse();
    try {
        //查询截图模板
        response = getSnapshotVodTemplate(client);
        //打印返回信息中的截图模板ID
        System.out.println("SnapshotVodTemplateId = " + response.getVodTemplateInfo().getVodTemplateId());
    } catch (Exception e) {
        System.out.println("ErrorMessage = " + e.getLocalizedMessage());
    }
    System.out.println("RequestId = " + response.getRequestId());
}