using TextToSpeechService; using Microsoft.AspNetCore.Http; var builder = WebApplication.CreateBuilder(args); builder.Host.UseWindowsService(); builder.Services.AddCors(p => p.AddPolicy("vber", corsPolicyBuilder => { corsPolicyBuilder.WithOrigins("*").AllowAnyMethod().AllowAnyHeader(); })); //builder.Services.AddHttpClient(); //builder.Services.AddHttpClient(); var app = builder.Build(); //app cors app.UseCors("vber"); app.MapGet("/speak", (string txt, int? rate , int? vol ) => { using MemoryStream ms = new MemoryStream(); var t = new Thread(() => { SpeechHelper.TTS(ms ,txt, rate,vol); }); t.Start(); t.Join(); ms.Position = 0; var buBytes = ms.GetBuffer(); return Results.File(new MemoryStream(buBytes), "application/wav"); }); app.MapPost("/speak", async (HttpContext context) => { var ms = new MemoryStream(); //file.CopyTo(ms); await context.Request.Body.CopyToAsync(ms); var s= SpeechHelper.SST(ms.GetBuffer()); return s; }); app.Run();