/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace TranscribeStreamingService { /** *

Amazon Transcribe streaming offers three main types of real-time * transcription: Standard, Medical, and Call Analytics.

*
  • Standard transcriptions are the most common option. Refer * to for details.

  • Medical transcriptions are tailored to * medical professionals and incorporate medical terms. A common use case for this * service is transcribing doctor-patient dialogue in real time, so doctors can * focus on their patient instead of taking notes. Refer to for details.

  • *
  • Call Analytics transcriptions are designed for use with call * center audio on two different channels; if you're looking for insight into * customer service calls, use this option. Refer to for details.

*/ class AWS_TRANSCRIBESTREAMINGSERVICE_API TranscribeStreamingServiceClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef TranscribeStreamingServiceClientConfiguration ClientConfigurationType; typedef TranscribeStreamingServiceEndpointProvider EndpointProviderType; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ TranscribeStreamingServiceClient(const Aws::TranscribeStreamingService::TranscribeStreamingServiceClientConfiguration& clientConfiguration = Aws::TranscribeStreamingService::TranscribeStreamingServiceClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ TranscribeStreamingServiceClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::TranscribeStreamingService::TranscribeStreamingServiceClientConfiguration& clientConfiguration = Aws::TranscribeStreamingService::TranscribeStreamingServiceClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ TranscribeStreamingServiceClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::TranscribeStreamingService::TranscribeStreamingServiceClientConfiguration& clientConfiguration = Aws::TranscribeStreamingService::TranscribeStreamingServiceClientConfiguration()); /* Legacy constructors due deprecation */ /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ TranscribeStreamingServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ TranscribeStreamingServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ TranscribeStreamingServiceClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~TranscribeStreamingServiceClient(); /** *

Starts a bidirectional HTTP/2 or WebSocket stream where audio is streamed to * Amazon Transcribe and the transcription results are streamed to your * application. Use this operation for Call * Analytics transcriptions.

The following parameters are required:

*
  • language-code

  • * media-encoding

  • sample-rate

    *

For more information on streaming with Amazon Transcribe, see Transcribing * streaming audio.

See Also:

AWS * API Reference

* * Queues the request into a thread executor. * The streamReadyHandler is triggered when the stream is ready to be written to. * The handler is triggered when the request is finished. */ virtual void StartCallAnalyticsStreamTranscriptionAsync(Model::StartCallAnalyticsStreamTranscriptionRequest& request, const StartCallAnalyticsStreamTranscriptionStreamReadyHandler& streamReadyHandler, const StartCallAnalyticsStreamTranscriptionResponseReceivedHandler& handler, const std::shared_ptr& handlerContext = nullptr) const; /** *

Starts a bidirectional HTTP/2 or WebSocket stream where audio is streamed to * Amazon Transcribe Medical and the transcription results are streamed to your * application.

The following parameters are required:

  • * language-code

  • media-encoding

    *
  • sample-rate

For more information * on streaming with Amazon Transcribe Medical, see Transcribing * streaming audio.

See Also:

AWS * API Reference

* * Queues the request into a thread executor. * The streamReadyHandler is triggered when the stream is ready to be written to. * The handler is triggered when the request is finished. */ virtual void StartMedicalStreamTranscriptionAsync(Model::StartMedicalStreamTranscriptionRequest& request, const StartMedicalStreamTranscriptionStreamReadyHandler& streamReadyHandler, const StartMedicalStreamTranscriptionResponseReceivedHandler& handler, const std::shared_ptr& handlerContext = nullptr) const; /** *

Starts a bidirectional HTTP/2 or WebSocket stream where audio is streamed to * Amazon Transcribe and the transcription results are streamed to your * application.

The following parameters are required:

  • * language-code or identify-language

  • * media-encoding

  • sample-rate

    *

For more information on streaming with Amazon Transcribe, see Transcribing * streaming audio.

See Also:

AWS * API Reference

* * Queues the request into a thread executor. * The streamReadyHandler is triggered when the stream is ready to be written to. * The handler is triggered when the request is finished. */ virtual void StartStreamTranscriptionAsync(Model::StartStreamTranscriptionRequest& request, const StartStreamTranscriptionStreamReadyHandler& streamReadyHandler, const StartStreamTranscriptionResponseReceivedHandler& handler, const std::shared_ptr& handlerContext = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const TranscribeStreamingServiceClientConfiguration& clientConfiguration); TranscribeStreamingServiceClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace TranscribeStreamingService } // namespace Aws