コード例 #1
0
        public async Task <ActionResult> Transcribe(TradiureTranscriptionRequest request, CancellationToken cancellationToken)
        {
            try
            {
                _logger.LogInformation($"{request.TranscriptionId}. {request.BlobUri} was successfullly received by Dapr PubSub");
                (Transcription response, HttpStatusCode code) = await _cogsClient.SubmitTranscriptionRequestAsync(new Uri(request.BlobUri));

                await _serviceClient.PublishNotification(request.TranscriptionId.ToString(), response.Status);

                return(code switch
                {
                    HttpStatusCode.Created => await HandleSuccess(response.Self, request.TranscriptionId),
                    _ => await HandleFailure(response.Self, request.TranscriptionId),
                });
            }
コード例 #2
0
ファイル: Program.cs プロジェクト: briandenicola/traduire
        static async Task Main(string[] args)
        {
            var file = new Uri("https://tra7db0afiles01.blob.core.windows.net/mp3files/01-_In_the_Beginning.mp3");
            AzureCognitiveServicesClient client = new AzureCognitiveServicesClient();

            (Transcription response, HttpStatusCode code) = await client.SubmitTranscriptionRequestAsync(file);

            if (code != HttpStatusCode.Created)
            {
                Console.WriteLine($"Transcription failed with status code of {code}");
                return;
            }

            Console.WriteLine($"Transcription submitted at {response.Self} with a status of {response.Status}");

            Transcription  currentStatus;
            HttpStatusCode currentStatusCode;

            do
            {
                Console.WriteLine($"Sleeping for 1 minute....");
                Thread.Sleep(10000);
                (currentStatus, currentStatusCode) = await client.CheckTranscriptionRequestAsync(new Uri(response.Self));

                if (currentStatusCode != HttpStatusCode.OK)
                {
                    Console.WriteLine($"Transcription Status Checked failed with status code of {currentStatusCode}");
                    return;
                }
                else
                {
                    Console.WriteLine($"Transcription Current status {currentStatus.Status}");
                }
            } while(currentStatus.Status != "Succeeded");

            Console.WriteLine($"Transcription succeeded. Downloading results from {currentStatus.Links.Files}");
            (TranscriptionResults result, HttpStatusCode currentStatusCode2) = await client.DownloadTranscriptionResultAsync(new Uri(currentStatus.Links.Files));

            var firstChannel = result.CombinedRecognizedPhrases.FirstOrDefault();

            Console.WriteLine($"Results:\n{firstChannel.Display}");
        }