Program.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using TextToSpeechService;
  2. using Microsoft.AspNetCore.Http;
  3. var builder = WebApplication.CreateBuilder(args);
  4. builder.Host.UseWindowsService();
  5. builder.Services.AddCors(p => p.AddPolicy("vber", corsPolicyBuilder =>
  6. {
  7. corsPolicyBuilder.WithOrigins("*").AllowAnyMethod().AllowAnyHeader();
  8. }));
  9. //builder.Services.AddHttpClient();
  10. //builder.Services.AddHttpClient<GoogleSTTHubClient>();
  11. var app = builder.Build();
  12. //app cors
  13. app.UseCors("vber");
  14. app.MapGet("/speak", (string txt, int? rate , int? vol ) =>
  15. {
  16. using MemoryStream ms = new MemoryStream();
  17. var t = new Thread(() =>
  18. {
  19. SpeechHelper.TTS(ms ,txt, rate,vol);
  20. });
  21. t.Start();
  22. t.Join();
  23. ms.Position = 0;
  24. var buBytes = ms.GetBuffer();
  25. return Results.File(new MemoryStream(buBytes), "application/wav");
  26. });
  27. app.MapPost("/speak", async (HttpContext context) =>
  28. {
  29. var ms = new MemoryStream();
  30. //file.CopyTo(ms);
  31. await context.Request.Body.CopyToAsync(ms);
  32. var s= SpeechHelper.SST(ms.GetBuffer());
  33. return s;
  34. });
  35. app.Run();