Java 如何识别音频文件的音频编码和采样赫兹

Java 如何识别音频文件的音频编码和采样赫兹,java,google-cloud-platform,speech-to-text,Java,Google Cloud Platform,Speech To Text,我正在研究谷歌云语音到文本样本。 我从这个链接中获取了一个样本 我提到 该示例中给出的示例文件运行良好。它给出该音频文件的文本。 但如果我提供自己的音频文件,它不会返回任何内容 云请求包括音频文件、音频编码和采样赫兹。 问题可能是我自己的音频文件的音频编码和采样赫兹 如何识别音频文件的AudioEncoding和SampleRateHertz?AudioEncoding的Java枚举具有以下可能的值: AudioEncoding.AMR->.awb/.3gp文件 AudioEncoding.AM

我正在研究谷歌云语音到文本样本。 我从这个链接中获取了一个样本 我提到 该示例中给出的示例文件运行良好。它给出该音频文件的文本。 但如果我提供自己的音频文件,它不会返回任何内容

云请求包括音频文件、音频编码和采样赫兹。 问题可能是我自己的音频文件的音频编码和采样赫兹


如何识别音频文件的AudioEncoding和SampleRateHertz?

AudioEncoding的Java枚举具有以下可能的值:

AudioEncoding.AMR
->.awb/.3gp文件

AudioEncoding.AMR\u WB
->.awb/.3gp文件

AudioEncoding.FLAC
->.FLAC文件

AudioEncoding.LINEAR16
->.wav文件

AudioEncoding.MULAW
->.wav文件

AudioEncoding.OGG\u OPUS
->.OGG/.OPUS文件

AudioEncoding.SPEEX\u和\u头\u字节
->可能没有线索。SPEEX

因此,您可以通过文件扩展名进行初步猜测,对于
SampleRateHertz
,您可以使用类似的工具。这将为商用_stereo.wav输出以下内容:

Content-Length: 6305632
Content-Type: audio/vnd.wave
X-Parsed-By: org.apache.tika.parser.DefaultParser
X-Parsed-By: org.apache.tika.parser.audio.AudioParser
X-TIKA:digest:MD5: 7e3e8837273e8bb143533894926f7da3
X-TIKA:digest:SHA256: 98fac004fb662ad8f720e680c81e3b4c9dea20190f5d1d908cece2cd6b30f01e
bits: 16
channels: 2
encoding: PCM_SIGNED
resourceName: commercial_stereo.wav
samplerate: 44100.0
xmpDM:audioSampleRate: 44100
xmpDM:audioSampleType: 16Int

是否有任何java示例可用于更改我的音频文件属性?我想将我的音频文件编码更改为AudioEncoding.FLAC&samplerate更改为16000。