Amazon Transcribe
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门




  • 将重试客户端复制到您的工作区中。请参阅 流式重试客户端代码

  • 将重试客户端接口复制到您的工作区中。实施接口,或者使用示例实施。请参阅 流式重试客户端接口代码

  • 将示例应用程序复制到您的工作区。构建并运行应用程序。

/** * COPYRIGHT: * <p> * Copyright 2018-2019, Inc. or its affiliates. All Rights Reserved. * <p> * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * <p> * * <p> * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.transcribestreaming.retryclient; import com.amazonaws.transcribestreaming.TranscribeStreamingDemoApp; import org.reactivestreams.Publisher; import org.reactivestreams.Subscriber; import; import; import; import; import; import; import javax.sound.sampled.LineUnavailableException; import; import; import; import; import; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import static com.amazonaws.transcribestreaming.TranscribeStreamingDemoApp.getCredentials; public class StreamingRetryApp { private static final String endpoint = "endpoint"; private static final Region region = Region.US_EAST_1; private static final int sample_rate = 28800; private static final String encoding = " "; private static final String language = LanguageCode.EN_US.toString(); public static void main(String args[]) throws URISyntaxException, ExecutionException, InterruptedException, LineUnavailableException, FileNotFoundException { /** * Create Transcribe streaming retry client using AWS credentials. */ TranscribeStreamingRetryClient client = new TranscribeStreamingRetryClient(EnvironmentVariableCredentialsProvider.create() ,endpoint, region); StartStreamTranscriptionRequest request = StartStreamTranscriptionRequest.builder() .languageCode(language) .mediaEncoding(encoding) .mediaSampleRateHertz(sample_rate) .build(); /** * Start real-time speech recognition. The Transcribe streaming java client uses the Reactive-streams * interface. For reference on Reactive-streams: * */ CompletableFuture<Void> result = client.startStreamTranscription( /** * Request parameters. Refer to API documentation for details. */ request, /** * Provide an input audio stream. * For input from a microphone, use getStreamFromMic(). * For input from a file, use getStreamFromFile(). */ new AudioStreamPublisher( new FileInputStream(new File("FileName"))), /** * Object that defines the behavior on how to handle the stream */ new StreamTranscriptionBehaviorImpl()); /** * Synchronous wait for stream to close, and close client connection */ result.get(); client.close(); } private static class AudioStreamPublisher implements Publisher<AudioStream> { private final InputStream inputStream; private AudioStreamPublisher(InputStream inputStream) { this.inputStream = inputStream; } @Override public void subscribe(Subscriber<? super AudioStream> s) { if (s.currentSubscription == null) { this.currentSubscription = new TranscribeStreamingDemoApp.SubscriptionImpl(s, inputStream); } else { this.currentSubscription.cancel(); this.currentSubscription = new TranscribeStreamingDemoApp.SubscriptionImpl(s, inputStream); } s.onSubscribe(currentSubscription); } } }