using System;
using System.Threading.Tasks;
using TencentCloud.Common;
using TencentCloud.Common.Profile;
using TencentCloud.Asr.V20190614;
using TencentCloud.Asr.V20190614.Models;
using System.IO;
namespace AudioToSRT
{
class SentenceRecognition
{
public static byte[] FileToByte(string fileUrl)
{
try
{
using (FileStream fs = new FileStream(fileUrl, FileMode.Open, FileAccess.Read))
{
byte[] byteArray = new byte[fs.Length];
fs.Read(byteArray, 0, byteArray.Length);
return byteArray;
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
return null;
}
}
public void test()
{
try
{
Credential cred = new Credential
{
SecretId = "xxx",
SecretKey = "xxxxx"
};
ClientProfile clientProfile = new ClientProfile();
HttpProfile httpProfile = new HttpProfile();
httpProfile.Endpoint = ("asr.tencentcloudapi.com");
clientProfile.HttpProfile = httpProfile;
AsrClient client = new AsrClient(cred, "", clientProfile);
SentenceRecognitionRequest req = new SentenceRecognitionRequest();
string audio = "D:\\-\\VisualStudio\\WinFormApp\\AudioToSRT\\AudioToSRT\\test_wav\\16k.wav";
string testAudio = "http://xxxxx/16k.wav";
byte[] rawdata = FileToByte(audio);
string data = Convert.ToBase64String(rawdata);
int rawdataLen = rawdata.Length;
req.ProjectId = 0;
req.SubServiceType = 2;
req.EngSerViceType = "16k_zh";
req.SourceType = 1;
req.VoiceFormat = "wav";
req.UsrAudioKey = "key";
req.Data = data;
//req.Url = testAudio;
req.DataLen = rawdataLen;
SentenceRecognitionResponse resp = client.SentenceRecognitionSync(req);
Console.WriteLine(AbstractModel.ToJsonString(resp));
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
}
}