1212import software .amazon .awssdk .regions .Region ;
1313import software .amazon .awssdk .services .transcribestreaming .TranscribeStreamingAsyncClient ;
1414import software .amazon .awssdk .services .transcribestreaming .model .*;
15-
16- import javax .sound .sampled .AudioFormat ;
17- import javax .sound .sampled .AudioInputStream ;
18- import javax .sound .sampled .AudioSystem ;
19- import javax .sound .sampled .DataLine ;
20- import javax .sound .sampled .LineUnavailableException ;
21- import javax .sound .sampled .TargetDataLine ;
22- import java .io .IOException ;
23- import java .io .InputStream ;
24- import java .io .PrintWriter ;
25- import java .io .StringWriter ;
26- import java .io .UncheckedIOException ;
15+ import javax .sound .sampled .*;
16+ import java .io .*;
2717import java .net .URISyntaxException ;
2818import java .nio .ByteBuffer ;
2919import java .util .List ;
@@ -38,7 +28,7 @@ public class TranscribeStreamingDemoApp {
3828 private static final Region REGION = Region .US_EAST_1 ;
3929 private static TranscribeStreamingAsyncClient client ;
4030
41- public static void main (String [] args )
31+ public static void main (String args [] )
4232 throws URISyntaxException , ExecutionException , InterruptedException , LineUnavailableException {
4333
4434 client = TranscribeStreamingAsyncClient .builder ()
@@ -95,7 +85,7 @@ private static StartStreamTranscriptionResponseHandler getResponseHandler() {
9585 System .out .println (e .getMessage ());
9686 StringWriter sw = new StringWriter ();
9787 e .printStackTrace (new PrintWriter (sw ));
98- System .out .println ("Error Occurred: " + sw );
88+ System .out .println ("Error Occurred: " + sw . toString () );
9989 })
10090 .onComplete (() -> {
10191 System .out .println ("=== All records stream successfully ===" );
@@ -111,10 +101,19 @@ private static StartStreamTranscriptionResponseHandler getResponseHandler() {
111101 .build ();
112102 }
113103
114-
104+ private InputStream getStreamFromFile (String audioFileName ) {
105+ try {
106+ File inputFile = new File (getClass ().getClassLoader ().getResource (audioFileName ).getFile ());
107+ InputStream audioStream = new FileInputStream (inputFile );
108+ return audioStream ;
109+ } catch (FileNotFoundException e ) {
110+ throw new RuntimeException (e );
111+ }
112+ }
113+
115114 private static class AudioStreamPublisher implements Publisher <AudioStream > {
116- private static Subscription currentSubscription ;
117115 private final InputStream inputStream ;
116+ private static Subscription currentSubscription ;
118117
119118 private AudioStreamPublisher (InputStream inputStream ) {
120119 this .inputStream = inputStream ;
@@ -123,22 +122,22 @@ private AudioStreamPublisher(InputStream inputStream) {
123122 @ Override
124123 public void subscribe (Subscriber <? super AudioStream > s ) {
125124
126- if (currentSubscription == null ) {
127- currentSubscription = new SubscriptionImpl (s , inputStream );
125+ if (this . currentSubscription == null ) {
126+ this . currentSubscription = new SubscriptionImpl (s , inputStream );
128127 } else {
129- currentSubscription .cancel ();
130- currentSubscription = new SubscriptionImpl (s , inputStream );
128+ this . currentSubscription .cancel ();
129+ this . currentSubscription = new SubscriptionImpl (s , inputStream );
131130 }
132131 s .onSubscribe (currentSubscription );
133132 }
134133 }
135134
136135 public static class SubscriptionImpl implements Subscription {
137- private static final int CHUNK_SIZE_IN_BYTES = 1024 ;
136+ private static final int CHUNK_SIZE_IN_BYTES = 1024 * 1 ;
138137 private final Subscriber <? super AudioStream > subscriber ;
139138 private final InputStream inputStream ;
140- private final ExecutorService executor = Executors .newFixedThreadPool (1 );
141- private final AtomicLong demand = new AtomicLong (0 );
139+ private ExecutorService executor = Executors .newFixedThreadPool (1 );
140+ private AtomicLong demand = new AtomicLong (0 );
142141
143142 SubscriptionImpl (Subscriber <? super AudioStream > s , InputStream inputStream ) {
144143 this .subscriber = s ;
0 commit comments