C# 调用阿里云语音识别
时间: 2025-02-07 22:52:14 浏览: 30
C# 调用阿里云语音识别 API 示例
为了使用 C# 调用阿里云的语音识别服务,开发者可以通过阿里云提供的 SDK 或者直接调用 RESTful API 来实现这一功能。下面是一个基于 .NET 实现调用阿里云 API 进行实时语音识别的例子[^3]。
准备工作
确保已经安装了阿里云的 .NET SDK 并配置好了访问密钥(AccessKey ID 和 AccessKey Secret)。这一步骤对于成功发送请求至关重要。
创建 HTTP 请求
构建用于提交给 Aliyun 的 POST 请求体,其中包含了音频文件以及必要的元数据信息:
using System;
using System.IO;
using System.Net.Http;
using System.Text;
public class VoiceRecognitionService {
private const string ApiUrl = "https://nls-gateway.cn-shanghai.aliyuncs.com/stream/v1/asr";
public async Task<string> RecognizeSpeechAsync(string audioFilePath) {
using var client = new HttpClient();
// 设置请求头
client.DefaultRequestHeaders.Add("Content-Type", "application/json");
client.DefaultRequestHeaders.Add("Authorization", GetAuthHeader());
// 构建请求体
byte[] fileBytes = File.ReadAllBytes(audioFilePath);
string base64AudioData = Convert.ToBase64String(fileBytes);
var requestBody = new StringContent(
$"{{\"format\":\"wav\",\"sample_rate\":16000,\"enable_intermediate_result\":false,\"enable_punctuation_prediction\":true,\"enable_inverse_text_normalization\":true,\"audio\":\"{base64AudioData}\"}}",
Encoding.UTF8,
"application/json"
);
HttpResponseMessage response = await client.PostAsync(ApiUrl, requestBody);
string result = await response.Content.ReadAsStringAsync();
return result;
}
private static string GetAuthHeader() {
// 此处应返回有效的鉴权字符串
throw new NotImplementedException();
}
}
此代码片段展示了如何创建一个简单的 HttpClient
对象来执行异步 POST 请求到指定 URL,并附带适当的内容类型和授权头部。注意,在实际应用中还需要正确设置 GetAuthHeader()
方法以生成合法的身份验证令牌。
当接收到服务器响应时,程序读取并解析 JSON 响应内容作为最终的结果输出。
相关推荐

















