人声分离

最近更新时间:2025-06-05 17:01:12

我的收藏

简介

本文档提供关于提交一个人声分离任务的相关 API 概览以及 SDK 示例代码。
API
操作描述
提交一个人声分离任务。

SDK API 参考

SDK 所有接口的具体参数与方法说明,请参考 SDK API

提交任务

功能说明

提交一个人声分离任务。
说明:
COS iOS SDK 版本需要大于等于 v6.2.9。

示例代码

Objective-C
QCloudPostVoiceSeparateRequest * request = [QCloudPostVoiceSeparateRequest new];
request.bucket = @"sample-1250000000";
request.regionName = @"COS_REGIONNAME";
request.input = [QCloudInputVoiceSeparate new];
// 待操作的文件信息;是否必传:是
request.input.Input = [QCloudInputVoiceSeparateInput new];
// 文件路径;是否必传:是
request.input.Input.Object = @"test.m4a";
// 操作规则;是否必传:是
request.input.Operation = [QCloudInputVoiceSeparateOperation new];
// 人声分离模板参数;是否必传:否
request.input.Operation.VoiceSeparate = [QCloudVoiceSeparate new];
// 同创建人声分离模板接口中的 Request.AudioMode;是否必传:是
request.input.Operation.VoiceSeparate.AudioMode = @"IsAudio";
// 同创建人声分离模板接口中的 Request.AudioConfig;是否必传:是
request.input.Operation.VoiceSeparate.AudioConfig = [QCloudAudioVoiceSeparateAudioConfig new];
// 编解码格式,取值 aac、mp3、flac、amr。当 Request.AudioMode 为 MusicMode 时,仅支持 mp3、wav、acc
request.input.Operation.VoiceSeparate.AudioConfig.Codec = @"aac";
// 结果输出配置;是否必传:是
request.input.Operation.Output = [QCloudInputVoiceSeparateOutput new];
// 存储桶的地域;是否必传:是
request.input.Operation.Output.Region = @"ap-chongqing";
// 存储结果的存储桶;是否必传:是
request.input.Operation.Output.Bucket = @"test-1250000000";
request.input.CallBackFormat = @"XML";
request.input.CallBackType = @"Url";

[request setFinishBlock:^(QCloudPostVoiceSeparateResponse * outputObject, NSError *error) {
// result:QCloudPostVoiceSeparateResponse 包含所有的响应;
// 具体查看代码注释或 api 文档:https://cloud.tencent.com/document/product/460/84794
// outputObject 返回 JobId,使用 QCloudGetMediaJobRequest 查询结果
}];
[[QCloudCOSXMLService defaultCOSXML] PostVoiceSeparate:request];

注意:
更多完整示例,请前往 GitHub 查看。
Swift
let request : QCloudPostVoiceSeparateRequest = QCloudPostVoiceSeparateRequest();
request.bucket = "sample-1250000000";
request.regionName = "COS_REGIONNAME";
// 创建任务的 Tag:VoiceSeparate;是否必传:是
// 待操作的文件信息;是否必传:是
let input : QCloudInputVoiceSeparate = QCloudInputVoiceSeparate();
// 文件路径;是否必传:是
request.input = input;
request.input.input = QCloudInputVoiceSeparateInput();
request.input.input.object = "";
// 操作规则;是否必传:是
let operation : QCloudInputVoiceSeparateOperation = QCloudInputVoiceSeparateOperation();
request.input.operation = operation;
// 人声分离模板参数;是否必传:否
let voiceSeparate : QCloudVoiceSeparate = QCloudVoiceSeparate();
request.input.operation.voiceSeparate = voiceSeparate;
// 同创建人声分离模板接口中的 Request.AudioMode;是否必传:是
request.input.operation.voiceSeparate.audioMode = "";
request.input.operation.voiceSeparate.audioConfig = QCloudAudioVoiceSeparateAudioConfig();
// 编解码格式,取值 aac、mp3、flac、amr。当 Request.AudioMode 为 MusicMode 时,仅支持 mp3、wav、acc
request.input.operation.voiceSeparate.audioConfig.codec = "acc";
// 结果输出配置;是否必传:是
let output : QCloudInputVoiceSeparateOutput = QCloudInputVoiceSeparateOutput();
request.input.operation.output = output;
// 存储桶的地域;是否必传:是
request.input.operation.output.region = "";
// 存储结果的存储桶;是否必传:是
request.input.operation.output.bucket = "";
request.finishBlock = { result, error in
// result:QCloudPostVoiceSeparateResponse 包含所有的响应;
// 具体查看代码注释或 api 文档:https://cloud.tencent.com/document/product/460/84794
};
QCloudCOSXMLService.defaultCOSXML().postVoiceSeparate(request);

注意:
更多完整示例,请前往 GitHub 查看。