腾讯云字幕接口api整理笔记

**

腾讯云字幕接口API接口整理的在这里做个笔记分享

**

这个是腾讯云字幕接口官方地址
字幕平台接口文档地址:https://transfy.cloud.tencent.com/#/api/commonParams

以下代码需要注意的地方是时间一定要传10位的时间戳不然就会报错

package com.example.demo.demo1;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.net.URL;
import java.net.URLConnection;
import java.security.MessageDigest;
import java.util.List;
import java.util.Map;

public class demo01 {

	
	
	public static void main(String[] args) throws Exception {
		
		
//		creatRoom();
		
		new demo01().stopTask("2");
		
		
		
		
		
	}
	
	

	public final static String appid = "你申请的appid";
	
	public final static String SecretKey = "你的秘钥"; 
	
	
	
	//--------------------------下面的这几个接口可以放到你的server或者工具类里都可以-------------------------------
	
	
	
	
	
	/**
	 * 创建字幕任务
	 * @param roomId 唯一的房间号
	 * @param title  房间名称
	 * @param liveStreamURL 直播流地址
	 * @param srcLang  直播流的语言类型
	 * @param startTime  开始时间 10位的时间戳
	 * @param endTime    结束时间 10位的时间戳
	 * @throws Exception
	 */
	public  void creatRoom(String roomId,String title,String liveStreamURL,String srcLang,String startTime,String endTime) throws Exception {
		 String ts =  System.currentTimeMillis()/1000+"";
		 Integer code = (int)(Math.random()*10000);
		 commonGetUrl("https://api.aitransfy.com/api/online/createTask?"+commonParam(ts,code)+"&roomId="+roomId+"&title="+title+"&liveStreamURL="+liveStreamURL+"&srcLang="+srcLang+"&startTime="+startTime+"&endTime="+endTime);
	}
	
	
	
	
	/**
	 * 停止字幕任务-根据房间号
	 * @param roomId
	 * @throws Exception
	 */
	public  void  stopTask(String roomId) throws Exception {
		 String ts =  System.currentTimeMillis()/1000+"";
		 Integer code = (int)(Math.random()*10000);
		 commonGetUrl("https://api.aitransfy.com/api/online/stopTask?"+commonParam(ts,code)+"&roomId="+roomId);
	}
	
	
	
	/**
	 * 重新开启字幕任务
	 * @param roomId 唯一的房间号
	 * @param startTime  开始时间   10位的时间戳
	 * @param endTime    结束时间   10位的时间戳
	 * @throws Exception
	 */
	public  void  stopTask(String roomId,String startTime,String endTime) throws Exception {
		 String ts =  System.currentTimeMillis()/1000+"";
		 Integer code = (int)(Math.random()*10000);
		 commonGetUrl("https://api.aitransfy.com/api/online/restartTask?"+commonParam(ts,code)+"&roomId="+roomId);
	}
	
	/**
	 * 查询字幕任务
	 * @param roomId  唯一房间号
	 * @throws Exception
	 */
	public  void qureyTask(String roomId)throws Exception {
		String ts =  System.currentTimeMillis()/1000+"";
		 Integer code = (int)(Math.random()*10000);
		 commonGetUrl("https:/api.aitransfy.com/api/online/queryTask?"+commonParam(ts,code)+"&roomId="+roomId);
	}
	
	
	/**
	 * 获取字幕消息
	 * @param roomId  唯一的房间号
	 * @param lang	  选择用户需要观看的语种。
	 */
	public  void export(String roomId,String lang)throws Exception {
		String ts =  System.currentTimeMillis()/1000+"";
		 Integer code = (int)(Math.random()*10000);
		 commonGetUrl("https:/api.aitransfy.com/api/online/export?"+commonParam(ts,code)+"&roomId="+roomId+"&lang="+lang);
		
	}
	
	
	
	
	
	
	//---------------------以下方法可以方法一个工具类里--------------------------------
	
	
	/**
	 * 签名生成
	 * @param ts
	 * @param code
	 * @return
	 * @throws Exception
	 */
	public  String sign(String ts,int code) throws Exception {
		return getMD5String(appid+ts+SecretKey+code);
		
	}
	/**
	 * 通用的请求参数
	 * @param ts
	 * @param code
	 * @return
	 */
	public  String commonParam(String ts,Integer code)throws Exception {
		return "appId="+appid+"&nOnce="+code+"&ts="+ts+"&sign="+sign(ts,code);
	}
	/**
	 * md5加密
	 * @param str
	 * @return
	 */
	public static String getMD5String(String str) {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            md.update(str.getBytes());
            return new BigInteger(1, md.digest()).toString(16);
        } catch (Exception e) {
           e.printStackTrace();
           return null;
        }
    }
	
	/**
	 * 通用的get的url方法
	 * @param url
	 */
	public static void commonGetUrl(String url)  throws Exception {
		String result = "";
		 BufferedReader in = null;
		URL ss = new URL(url);
		URLConnection connection = ss.openConnection();

		   connection.setRequestProperty("Accept-Charset","UTF-8");

		   connection.setRequestProperty("Content-Type","text/plain; charset=utf-8");
		   // 建立实际的连接
		   connection.connect();
		   // 获取所有响应头字段
		   Map<String, List<String>> map = connection.getHeaderFields();
		   // 遍历所有的响应头字段
		   for (String key : map.keySet()) {
		    System.out.println(key + "--->" + map.get(key));
		   }
		 
		   // 定义 BufferedReader输入流来读取URL的响应
		   in = new BufferedReader(new InputStreamReader(
		     connection.getInputStream(),"UTF-8"));
		   String line;
		   while ((line = in.readLine()) != null) {
		    result += line;
		   }
		System.out.println(result);
	}

	
	
	
	
}

在测试的时候,直接把官方给的网页接口在浏览器访问等待几秒钟就会出现你们的测试记录,这个相应速度是比较快的,当然价格也比较贵
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜空繁星vv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值