/**
* 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:
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