本文介绍如何安装和快速使用智能媒体管理Java SDK。

前提条件

  • 已下载并安装J2SE 6.0及以上版本的Java开发环境。请通过Java官方网站下载相应版本。
  • 已创建并获取Access Key。具体操作,请参见获取AccessKey
  • 已开通OSS服务、创建存储空间并上传文件到存储空间。具体操作,请参见OSS控制台使用流程
  • 已开通智能媒体管理服务。具体操作,请参见开通产品
    注意 目前在华东1(杭州)和华东2(上海)地域中,您也可以通过调用OpenImmService接口开通智能媒体管理服务。
  • 已创建所需类型的项目。具体操作,请参见创建项目

快速使用

使用智能媒体管理Java SDK的操作步骤如下:

  1. 安装智能媒体管理Java SDK。
    您可以直接使用Maven依赖添加智能媒体管理Java SDK,只需在pom.xml中加入相应依赖即可。以1.22.0版本为例,在<dependencies>中加入如下内容:
    注意 请关注产品提供的最新版本Java SDK,查看相关功能并选择使用。
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>[4.4.9,5.0.0)</version>
    </dependency>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.5</version>
    </dependency>
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-imm</artifactId>
        <version>1.22.0</version>
    </dependency>                    
  2. 开始一个Java项目。

    如下示例以在华东1(杭州)地域中创建文档转换任务为例说明。

    import com.aliyuncs.exceptions.ClientException;
    import com.aliyuncs.imm.model.v20170906.*;
    import com.aliyuncs.profile.DefaultProfile;
    import com.aliyuncs.DefaultAcsClient;
    import com.aliyuncs.IAcsClient;
    
    public class Demo {
        //初始化IMM客户端。
        static IAcsClient client = new DefaultAcsClient(DefaultProfile.getProfile("cn-hangzhou", "your_access_key_id","your_access_key_secret"));
        //项目名称。请确保已创建该项目且项目类型为文档标准型(DocStarter)。
        static String projectName = "immdoctest";
    
        public static void main(String[] args) throws ClientException {
            //调用文档转换请求。
            docConvertDemo();
        }
    
        public static void docConvertDemo() throws ClientException{
            //创建文档转换异步请求任务。
            CreateOfficeConversionTaskRequest req = new CreateOfficeConversionTaskRequest();
    
            req.setProject(projectName);
            //设置待转换文件的OSS URI。
            req.setSrcUri("oss://preview-office-bucket/docs/input/demo.pptx");
            //设置文件输出格式为vector。
            req.setTgtType("vector");
            //设置转换后文件的输出路径。
            req.setTgtUri("oss://preview-office-bucket/docs/output/demo_pptx");
    
            CreateOfficeConversionTaskResponse res = client.getAcsResponse(req);
            String taskId = res.getTaskId();
    
            //获取文档转换任务结果,最多轮询30次。
            //每次轮询的时间间隔为1秒。
            GetOfficeConversionTaskRequest getOfficeConversionTaskRequest = new GetOfficeConversionTaskRequest();
            getOfficeConversionTaskRequest.setProject(projectName);
            getOfficeConversionTaskRequest.setTaskId(taskId);
    
            int maxCount = 30;
            int count = 0;
            try {
                while (true) {
                    //轮询的时间间隔,单位为毫秒。
                    Thread.sleep(1000); 
                    GetOfficeConversionTaskResponse getOfficeConversionTaskResponse = client.getAcsResponse(getOfficeConversionTaskRequest);
                    if (!getOfficeConversionTaskResponse.getStatus().equals("Running")) {
                        //输出文档转换任务执行结果。
                        System.out.println(getOfficeConversionTaskResponse.getTaskId());
                        System.out.println(getOfficeConversionTaskResponse.getFailDetail().getCode());
                        System.out.println("Done");
                        break;
                    }
    
                    count = count + 1;
                    if(count >= maxCount) {
                        System.out.println("OfficeConversion Timeout for 30 seconds");
                        break;
                    }
                    System.out.println("Task is still running.");
    
                }
            } catch (InterruptedException e){
                e.printStackTrace();
            }
        }
    }