private static void TestRemoteTranscription(string key, string region, string meetingId) { SpeechConfig config = SpeechConfig.FromSubscription(key, region); RemoteConversationTranscriptionClient client = new RemoteConversationTranscriptionClient(config); RemoteConversationTranscriptionOperation operation = new RemoteConversationTranscriptionOperation(meetingId, client); WaitForCompletion(operation).Wait(); }
private static async Task WaitForCompletion(RemoteConversationTranscriptionOperation operation) { while (!operation.HasCompleted) { Thread.Sleep(TimeSpan.FromSeconds(10)); Response response = await operation.UpdateStatusAsync(); Console.WriteLine(response.Status); } await operation.WaitForCompletionAsync(TimeSpan.FromSeconds(10), CancellationToken.None); Console.WriteLine($"Id = {operation.Value.Id}"); var val = operation.Value.ConversationTranscriptionResults; foreach (var item in val) { Console.WriteLine($"{item.Text}, {item.ResultId}, {item.Reason}, {item.UserId}, {item.OffsetInTicks}, {item.Duration}"); Console.WriteLine($"{item.Properties.GetProperty(PropertyId.SpeechServiceResponse_JsonResult)}"); Console.WriteLine(); } }