本教程详细介绍如何使用Alibaba Cloud SDK for Java更新直播流配置。

前提条件

在使用本教程前,请确保已完成以下操作:

  • 使用Alibaba Cloud SDK for Java,您需要一个阿里云账号和访问密钥(AccessKey)。 请在阿里云控制台中的AccessKey管理页面上创建和查看您的AccessKey。
  • 确保您已经安装了Alibaba Cloud SDK for Java,准确的SDK版本号,请参见 阿里云开发工具包(SDK)
    <dependencies>     <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-core --&gt;     <dependency&gt;         <groupId>com.aliyun</groupId>         <artifactId>aliyun-java-sdk-core</artifactId>         <version>4.4.5</version>     </dependency>     <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-live -->     <dependency>         <groupId>com.aliyun</groupId>         <artifactId>aliyun-java-sdk-live</artifactId>         <version>3.8.0</version>     </dependency> </dependencies>

代码示例

本文操作示例主要以代码形式体现,具体代码如下:

import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.live.model.v20161101.AddLivePullStreamInfoConfigRequest; import com.aliyuncs.live.model.v20161101.AddLivePullStreamInfoConfigResponse; import com.aliyuncs.live.model.v20161101.SetLiveStreamsNotifyUrlConfigRequest; import com.aliyuncs.live.model.v20161101.SetLiveStreamsNotifyUrlConfigResponse; import com.aliyuncs.profile.DefaultProfile; import com.google.gson.Gson;  /**  * AddLivePullStreamInfoConfig            添加直播拉流信息  *   * SetLiveStreamsNotifyUrlConfig    设置推流回调配置  */ public class SetLiveStream {      public static void main(String[] args) {          Gson gson = new Gson();          // 初始化公共请求参数         IAcsClient client = initialization();          // 添加直播拉流信息         AddLivePullStreamInfoConfigResponse addLivePullStreamInfoConfigResponse = addLivePullStreamInfoConfig(client);         // 处理业务逻辑         System.out.println("---------------------添加直播拉流配置-------------------");         System.out.println(gson.toJson(addLivePullStreamInfoConfigResponse));          // 设置推流回调配置         SetLiveStreamsNotifyUrlConfigResponse setLiveStreamsNotifyUrlConfigResponse = setLiveStreamsNotifyUrlConfig(client);         // 处理业务逻辑         System.out.println("---------------------设置推流回调配置-------------------");         System.out.println(gson.toJson(setLiveStreamsNotifyUrlConfigResponse));      }      /**      * SetLiveStreamsNotifyUrlConfig    设置推流回调配置      */     private static SetLiveStreamsNotifyUrlConfigResponse setLiveStreamsNotifyUrlConfig(IAcsClient client) {         SetLiveStreamsNotifyUrlConfigRequest request = new SetLiveStreamsNotifyUrlConfigRequest();         // 您的加速域名         request.setDomainName("www.yourdomain.com");         // 设置直播流信息推送到的URL地址。         // 说明 必须以http://开头。         request.setNotifyUrl("http://play.aliyunlive.com/notify");         try {             return client.getAcsResponse(request);         } catch (ClientException e) {             System.out.println("ErrCode:" + e.getErrCode());             System.out.println("ErrMsg:" + e.getErrMsg());             System.out.println("RequestId:" + e.getRequestId());             throw new RuntimeException();         }     }      /**      * AddLivePullStreamInfoConfig    添加直播拉流信息      */     private static AddLivePullStreamInfoConfigResponse addLivePullStreamInfoConfig(IAcsClient client) {         AddLivePullStreamInfoConfigRequest request = new AddLivePullStreamInfoConfigRequest();         // 直播流所属应用名称         request.setAppName("testApp");         // 您的拉流域名为用户的播放域名         request.setDomainName("live.yourdomain.com");         // 拉流开始时间         // UTC格式         // StartTime和EndTime时间间隔在7天内         request.setStartTime("2017-12-21T08:00:00Z");         // 拉流结束时间         request.setEndTime("2017-12-22T08:00:00Z");         // 直播流名         request.setStreamName("testStream");         // 用户的直播流所在的源站         // 多个源站可以填多个地址,用分号分隔         request.setSourceUrl("live.yourdomain.com");         try {             return client.getAcsResponse(request);         } catch (ClientException e) {             System.out.println("ErrCode:" + e.getErrCode());             System.out.println("ErrMsg:" + e.getErrMsg());             System.out.println("RequestId:" + e.getRequestId());             throw new RuntimeException();         }     }      /**      * Initialization  初始化公共请求参数      */     private static IAcsClient initialization() {         // 初始化请求参数         DefaultProfile profile = DefaultProfile.getProfile(                 "<your-region-id>", // 您的可用区ID                 "<your-access-key-id>", // 您的AccessKey ID                 "<your-access-key-secret>"); // 您的AccessKey Secret         return new DefaultAcsClient(profile);     } }

执行结果

正确的执行结果类似如下:

---------------------添加直播拉流信息------------------- {     "RequestId":"4C747C97-7ECD-4C61-8A92-67AD806331FF" } ---------------------设置推流回调配置------------------- {     "RequestId":"16A96B9A-F203-4EC5-8E43-CB92E68F4CF8" }