使用阿里云录音文件识别(java)

阅读: 评论:0

使用阿里云录音文件识别(java)

使用阿里云录音文件识别(java)

使用阿里云录音文件识别(java)

大家好,这里介绍如何使用阿里云提供的录音文件识别的接口。

1…首先注册一个阿里云账号密码

注册完后,你会得到一个AccessKeyIdAccessKeySecret

2.将要识别的录音文件,上传到阿里云oss云存储服务器上,因为这个接口识别的文件必须提交基于HTTP可访问的URL地址,不支持提交本地文件。然后复制下来文件生成url地址,用于后面接口调用。
所以这里你需要开通oss云存储服务器,这里可以参考官方文档。(=a2c4g.11186623.2.22.78151f8dK5FB0t)

3.你需要到阿里云智能语音管控台,创建一个项目,并在项目中选择目标录音文件适合的场景和模型。官方文档说明(.html?spm=a2c4g.11186623.2.18.1c731f8dDPxbDc)这里完成后,会有一个项目的appKey

4.这时可以写Demo调用接口了
4.1创建一个maven项目,导入依赖:

<dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>3.7.1</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.49</version></dependency>
```java
4.2写调用接口代码:```java
package com.ity;import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;public class FileTransJavaDemo {/*** 地域ID 常量内容,请勿改变*/public static final String REGIONID = "cn-shanghai";public static final String ENDPOINTNAME = "cn-shanghai";public static final String PRODUCT = "nls-filetrans";public static final String DOMAIN = "filetrans-shanghai.aliyuncs";public static final String API_VERSION = "2018-08-17";public static final String POST_REQUEST_ACTION = "SubmitTask";public static final String GET_REQUEST_ACTION = "GetTaskResult";/*** 参数设置Key 常量内容,请勿改变*/public static final String KEY_APP_KEY = "app_key";public static final String KEY_FILE_LINK = "file_link";public static final String KEY_TASK = "Task";public static final String KEY_TASK_ID = "TaskId";public static final String KEY_STATUS_TEXT = "StatusText";public static JSONObject getInfo() throws Exception{/* if (args.length < 3) {println("FileTransJavaDemo need params: <AccessKey Id> <AccessKey Secret> <app-key>");}*/final String accessKeyId = "你的accessKeyId";final String accessKeySecret = "你的accessKeySecret";final String appKey = "你的appKey";/*** 阿里云鉴权client*/IAcsClient client;// 设置endpointDefaultProfile.addEndpoint(ENDPOINTNAME, REGIONID, PRODUCT, DOMAIN);// 创建DefaultAcsClient实例并初始化DefaultProfile profile = Profile(REGIONID, accessKeyId, accessKeySecret);client = new DefaultAcsClient(profile);/*** 创建CommonRequest 设置请求参数*/CommonRequest postRequest = new CommonRequest();// 设置域名postRequest.setDomain(DOMAIN);// 设置API的版本号,格式为YYYY-MM-DDpostRequest.setVersion(API_VERSION);// 设置actionpostRequest.setAction(POST_REQUEST_ACTION);// 设置产品名称postRequest.setProduct(PRODUCT);/*** 设置录音文件识别请求参数,以JSON字符串的格式设置到请求的Body中*/JSONObject taskObject = new JSONObject();// 设置app_keytaskObject.put(KEY_APP_KEY, appKey);// 设置音频文件访问链接taskObject.put(KEY_FILE_LINK, "你访问存储oss云服务器目标文件所在url地址");String task = JSONString();// 设置以上JOSN字符串为Body参数postRequest.putBodyParameter(KEY_TASK, task);// 设置为POST方式的请求postRequest.setMethod(MethodType.POST);/*** 提交录音文件识别请求*/// 获取录音文件识别请求任务的ID,以供识别结果查询使用String taskId = "";CommonResponse postResponse = CommonResponse(postRequest);if (HttpStatus() == 200) {JSONObject result = JSONObject.Data());String statusText = String(KEY_STATUS_TEXT);if (statusText.equals("SUCCESS")) {System.out.println("录音文件识别请求成功响应: " + JSONString());taskId = String(KEY_TASK_ID);} else {println("录音文件识别请求失败: " + Data());return null;}} else {println("录音文件识别请求失败,Http错误码:" + HttpStatus());println("录音文件识别请求失败响应:" + Data());return null;}/*** 创建CommonRequest 设置任务ID*/CommonRequest getRequest = new CommonRequest();// 设置域名getRequest.setDomain(DOMAIN);// 设置API版本getRequest.setVersion(API_VERSION);// 设置actiongetRequest.setAction(GET_REQUEST_ACTION);// 设置产品名称getRequest.setProduct(PRODUCT);// 设置任务ID为查询参数getRequest.putQueryParameter(KEY_TASK_ID, taskId);// 设置为GET方式的请求getRequest.setMethod(MethodType.GET);/*** 提交录音文件识别结果查询请求* 以轮询的方式进行识别结果的查询,直到服务端返回的状态描述为“SUCCESS”、“SUCCESS_WITH_NO_VALID_FRAGMENT”,或者为错误描述,则结束轮询。*/String statusText = "";JSONObject result=null;while (true) {CommonResponse getResponse = CommonResponse(getRequest);if (HttpStatus() != 200) {println("识别结果查询请求失败,Http错误码:" + HttpStatus());println("识别结果查询请求失败:" + Data());break;}result = JSONObject.Data());System.out.println("识别查询结果:" + JSONString());statusText = String(KEY_STATUS_TEXT);if (statusText.equals("RUNNING") || statusText.equals("QUEUEING")) {// 继续轮询Thread.sleep(3000);} else {break;}}if (statusText.equals("SUCCESS") || statusText.equals("SUCCESS_WITH_NO_VALID_FRAGMENT")) {System.out.println("录音文件识别成功!");} else {println("录音文件识别失败!");}return result;}}

5.接下来就是启动项目,调用接口,结果如下:

本文发布于:2024-01-30 20:00:10,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170661601422469.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:阿里   文件   java
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23