java—播放音频而不将其保存在文件中

pjngdqdw  于 2021-07-03  发布在  Java
关注(0)|答案(0)|浏览(231)

我正在使用googleapi文本到语音,我只想听到“helloworld”。
到目前为止,我的情况是:

/**Demonstrates using the Text-to-Speech API. */
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
public void hello() throws Exception {
    InputStream stream = getResources().openRawResource(R.raw.credential); // R.raw.credential is credential.json
    GoogleCredentials credentials = GoogleCredentials.fromStream(stream);
    TextToSpeechSettings textToSpeechSettings =
            TextToSpeechSettings.newBuilder()
                    .setCredentialsProvider(
                            FixedCredentialsProvider.create(credentials)
                    ).build()
            ;

    // Instantiates a client
    try (TextToSpeechClient textToSpeechClient = TextToSpeechClient.create(textToSpeechSettings)) {

        // Set the text input to be synthesized
        SynthesisInput input = SynthesisInput.newBuilder().setText("Hello, World!").build();

        // Build the voice request, select the language code ("en-US") and the ssml voice gender
        // ("neutral")
        VoiceSelectionParams voice =
                VoiceSelectionParams.newBuilder()
                        .setLanguageCode("en-US")
                        .setSsmlGender(SsmlVoiceGender.NEUTRAL)
                        .build();

        // Select the type of audio file you want returned
        AudioConfig audioConfig =
                AudioConfig.newBuilder().setAudioEncoding(AudioEncoding.MP3).build();

        // Perform the text-to-speech request on the text input with the selected voice parameters and
        // audio file type
        SynthesizeSpeechResponse response =
                textToSpeechClient.synthesizeSpeech(input, voice, audioConfig);

        // Get the audio contents from the response
        ByteString audioContents = response.getAudioContent();

        // Write the response to the output file.
        try (OutputStream out = new FileOutputStream("output.mp3")) {
            out.write(audioContents.toByteArray());
            System.out.println("Audio content written to file \"output.mp3\"");
        }
    }
}

我得到一个错误:
java.io.filenotfoundexception:output.mp3(只读文件系统)
我从google的文档中复制了大部分代码,但我甚至不想将这些音频保存在一个文件中。文字“你好,世界!”应该简单地播放而不首先保存。这可能吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题