All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tencentcloudapi.gme.v20180711.GmeClient Maven / Gradle / Ivy

/*
 * Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.tencentcloudapi.gme.v20180711;

import java.lang.reflect.Type;
import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.common.AbstractClient;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.JsonResponseModel;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.gme.v20180711.models.*;

public class GmeClient extends AbstractClient{
    private static String endpoint = "gme.tencentcloudapi.com";
    private static String version = "2018-07-11";

    public GmeClient(Credential credential, String region) {
        this(credential, region, new ClientProfile());
    }

    public GmeClient(Credential credential, String region, ClientProfile profile) {
        super(GmeClient.endpoint, GmeClient.version, credential, region, profile);
    }

    /**
     *本接口(CreateApp)用于创建一个GME应用。
     * @param req CreateAppRequest
     * @return CreateAppResponse
     * @throws TencentCloudSDKException
     */
    public CreateAppResponse CreateApp(CreateAppRequest req) throws TencentCloudSDKException{
        JsonResponseModel rsp = null;
        try {
                Type type = new TypeToken>() {
                }.getType();
                rsp  = gson.fromJson(this.internalRequest(req, "CreateApp"), type);
        } catch (JsonSyntaxException e) {
            throw new TencentCloudSDKException(e.getMessage());
        }
        return rsp.response;
    }

    /**
     *本接口(DescribeAppStatistics)用于获取某个GME应用的用量数据。包括实时语音,语音消息及转文本,语音分析等。最长查询周期为最近30天。
     * @param req DescribeAppStatisticsRequest
     * @return DescribeAppStatisticsResponse
     * @throws TencentCloudSDKException
     */
    public DescribeAppStatisticsResponse DescribeAppStatistics(DescribeAppStatisticsRequest req) throws TencentCloudSDKException{
        JsonResponseModel rsp = null;
        try {
                Type type = new TypeToken>() {
                }.getType();
                rsp  = gson.fromJson(this.internalRequest(req, "DescribeAppStatistics"), type);
        } catch (JsonSyntaxException e) {
            throw new TencentCloudSDKException(e.getMessage());
        }
        return rsp.response;
    }

    /**
     *根据应用ID和文件ID查询识别结果
     * @param req DescribeFilterResultRequest
     * @return DescribeFilterResultResponse
     * @throws TencentCloudSDKException
     */
    public DescribeFilterResultResponse DescribeFilterResult(DescribeFilterResultRequest req) throws TencentCloudSDKException{
        JsonResponseModel rsp = null;
        try {
                Type type = new TypeToken>() {
                }.getType();
                rsp  = gson.fromJson(this.internalRequest(req, "DescribeFilterResult"), type);
        } catch (JsonSyntaxException e) {
            throw new TencentCloudSDKException(e.getMessage());
        }
        return rsp.response;
    }

    /**
     *根据日期查询识别结果列表
     * @param req DescribeFilterResultListRequest
     * @return DescribeFilterResultListResponse
     * @throws TencentCloudSDKException
     */
    public DescribeFilterResultListResponse DescribeFilterResultList(DescribeFilterResultListRequest req) throws TencentCloudSDKException{
        JsonResponseModel rsp = null;
        try {
                Type type = new TypeToken>() {
                }.getType();
                rsp  = gson.fromJson(this.internalRequest(req, "DescribeFilterResultList"), type);
        } catch (JsonSyntaxException e) {
            throw new TencentCloudSDKException(e.getMessage());
        }
        return rsp.response;
    }

    /**
     *本接口(DescribeScanResultList)用于查询语音检测结果,查询任务列表最多支持100个。

如果在提交语音检测任务时未设置 Callback 字段,则需要通过本接口获取检测结果

* @param req DescribeScanResultListRequest * @return DescribeScanResultListResponse * @throws TencentCloudSDKException */ public DescribeScanResultListResponse DescribeScanResultList(DescribeScanResultListRequest req) throws TencentCloudSDKException{ JsonResponseModel rsp = null; try { Type type = new TypeToken>() { }.getType(); rsp = gson.fromJson(this.internalRequest(req, "DescribeScanResultList"), type); } catch (JsonSyntaxException e) { throw new TencentCloudSDKException(e.getMessage()); } return rsp.response; } /** *本接口(ModifyAppStatus)用于修改应用总开关状态。 * @param req ModifyAppStatusRequest * @return ModifyAppStatusResponse * @throws TencentCloudSDKException */ public ModifyAppStatusResponse ModifyAppStatus(ModifyAppStatusRequest req) throws TencentCloudSDKException{ JsonResponseModel rsp = null; try { Type type = new TypeToken>() { }.getType(); rsp = gson.fromJson(this.internalRequest(req, "ModifyAppStatus"), type); } catch (JsonSyntaxException e) { throw new TencentCloudSDKException(e.getMessage()); } return rsp.response; } /** *本接口(ScanVoice)用于提交语音检测任务,检测任务列表最多支持100个。使用前请您登录[控制台 - 服务配置](https://console.cloud.tencent.com/gamegme/conf)开启语音分析服务。

功能试用说明:

  • 打开前往控制台 - 产品试用免费试用语音分析服务。

  • 接口功能说明:

  • 支持对语音流或语音文件进行检测,判断其中是否包含违规内容。
  • 支持设置回调地址 Callback 获取检测结果,同时支持通过接口(查询语音检测结果)主动轮询获取检测结果。
  • 支持场景输入,包括:谩骂、色情、涉政等场景
  • 支持批量提交检测任务。检测任务列表最多支持100个。

  • 音频文件限制说明:

  • 音频文件大小限制:100 M
  • 音频文件时长限制:30分钟
  • 音频文件格式支持的类型:.wav、.m4a、.amr、.mp3、.aac、.wma、.ogg

  • 语音流限制说明:

  • 语音流格式支持的类型:.m3u8、.flv
  • 语音流支持的传输协议:RTMP、HTTP、HTTPS
  • 语音流时长限制:4小时
  • 支持音视频流分离并对音频流进行分析

  • Scenes 与 Label 参数说明:

    提交语音检测任务时,需要指定 Scenes 场景参数,目前要求您设置 Scenes 参数值为:["default"];而在检测结果中,则包含请求时指定的场景,以及对应类型的检测结果。

    场景 描述 Label
    语音检测 语音检测的检测类型

    normal:正常文本

    porn:色情

    politics:涉政

    abuse:谩骂

    ad :广告

    terrorism:暴恐

    contraband :违禁

    customized:自定义词库。目前白名单开放,如有需要请联系我们


    回调相关说明:

  • 如果在请求参数中指定了回调地址参数 Callback,即一个 HTTP(S) 协议接口的 URL,则需要支持 POST 方法,传输数据编码采用 UTF-8。
  • 在推送回调数据后,接收到的 HTTP 状态码为 200 时,表示推送成功。
  • HTTP 头参数说明:
  • 名称 类型 是否必需 描述
    Signatue string 签名,具体见签名生成说明
    • 签名生成说明:
      • 使用 HMAC-SH1 算法, 最终结果做 BASE64 编码;
      • 签名原文串为 POST+body 的整个json内容(长度以 Content-Length 为准);
      • 签名key为应用的 SecretKey,可以通过控制台查看。
  • 回调示例如下(详细字段说明见结构: DescribeScanResult
  • {
    	"Code": 0,
    	"DataId": "1400000000_test_data_id",
    	"ScanFinishTime": 1566720906,
    	"HitFlag": true,
    	"Live": false,
    	"Msg": "",
    	"ScanPiece": [{
    		"DumpUrl": "",
    		"HitFlag": true,
    		"MainType": "abuse",
    		"RoomId": "123",
    		"OpenId": "xxx",
    		"Info":"",
    		"Offset": 0,
    		"Duration": 3400,
    		"PieceStartTime":1574684231,
    		"ScanDetail": [{
    			"EndTime": 1110,
    			"KeyWord": "xxx",
    			"Label": "abuse",
    			"Rate": "90.00",
    			"StartTime": 1110
    		}, {
    			"EndTime": 1380,
    			"KeyWord": "xxx",
    			"Label": "abuse",
    			"Rate": "90.00",
    			"StartTime": 930
    		}, {
    			"EndTime": 1560,
    			"KeyWord": "xxx",
    			"Label": "abuse",
    			"Rate": "90.00",
    			"StartTime": 930
    		}, {
    			"EndTime": 2820,
    			"KeyWord": "xxx",
    			"Label": "abuse",
    			"Rate": "90.00",
    			"StartTime": 2490
    		}]
    	}],
    	"ScanStartTime": 1566720905,
    	"Scenes": [
    		"default"
    	],
    	"Status": "Success",
    	"TaskId": "xxx",
    	"Url": "https://xxx/xxx.m4a"
    }
    
    * @param req ScanVoiceRequest * @return ScanVoiceResponse * @throws TencentCloudSDKException */ public ScanVoiceResponse ScanVoice(ScanVoiceRequest req) throws TencentCloudSDKException{ JsonResponseModel rsp = null; try { Type type = new TypeToken>() { }.getType(); rsp = gson.fromJson(this.internalRequest(req, "ScanVoice"), type); } catch (JsonSyntaxException e) { throw new TencentCloudSDKException(e.getMessage()); } return rsp.response; } /** *本接口用于识别涉黄、涉政等违规音频,成功会回调配置在应用的回调地址。回调示例如下: {"BizId":0,"FileId":"test_file_id","FileName":"test_file_name","FileUrl":"test_file_url","OpenId":"test_open_id","TimeStamp":"0000-00-00 00:00:00","Data":[{"Type":1,"Word":"xx"}]} Type表示过滤类型,1:政治,2:色情,3:谩骂 * @param req VoiceFilterRequest * @return VoiceFilterResponse * @throws TencentCloudSDKException */ public VoiceFilterResponse VoiceFilter(VoiceFilterRequest req) throws TencentCloudSDKException{ JsonResponseModel rsp = null; try { Type type = new TypeToken>() { }.getType(); rsp = gson.fromJson(this.internalRequest(req, "VoiceFilter"), type); } catch (JsonSyntaxException e) { throw new TencentCloudSDKException(e.getMessage()); } return rsp.response; } }




    © 2015 - 2025 Weber Informatics LLC | Privacy Policy