/// <summary>Snippet for StreamingTranslateSpeech</summary> public async Task StreamingTranslateSpeech() { // Snippet: StreamingTranslateSpeech(CallSettings, BidirectionalStreamingSettings) // Create client SpeechTranslationServiceClient speechTranslationServiceClient = SpeechTranslationServiceClient.Create(); // Initialize streaming call, retrieving the stream object SpeechTranslationServiceClient.StreamingTranslateSpeechStream response = speechTranslationServiceClient.StreamingTranslateSpeech(); // Sending requests and retrieving responses can be arbitrarily interleaved // Exact sequence will depend on client/server behavior // Create task to do something with responses from server Task responseHandlerTask = Task.Run(async() => { // Note that C# 8 code can use await foreach AsyncResponseStream <StreamingTranslateSpeechResponse> responseStream = response.GetResponseStream(); while (await responseStream.MoveNextAsync()) { StreamingTranslateSpeechResponse responseItem = responseStream.Current; // Do something with streamed response } // The response stream has completed }); // Send requests to the server bool done = false; while (!done) { // Initialize a request StreamingTranslateSpeechRequest request = new StreamingTranslateSpeechRequest { StreamingConfig = new StreamingTranslateSpeechConfig(), AudioContent = ByteString.Empty, }; // Stream a request to the server await response.WriteAsync(request); // Set "done" to true when sending requests is complete } // Complete writing requests to the stream await response.WriteCompleteAsync(); // Await the response handler // This will complete once all server responses have been processed await responseHandlerTask; // End snippet }
public override stt::Task WriteAsync(StreamingTranslateSpeechRequest message, grpccore::WriteOptions options) => _writeBuffer.WriteAsync(ModifyRequest(message), options);
public override stt::Task WriteAsync(StreamingTranslateSpeechRequest message) => _writeBuffer.WriteAsync(ModifyRequest(message));
private StreamingTranslateSpeechRequest ModifyRequest(StreamingTranslateSpeechRequest request) { _service.Modify_StreamingTranslateSpeechRequestRequest(ref request); return(request); }
partial void Modify_StreamingTranslateSpeechRequestRequest(ref StreamingTranslateSpeechRequest request);