我试图在文件中保存由android的语音识别服务监听的音频数据.
实际上我RecognitionListener按照这里的解释实现:
Android上的语音到文本
将数据保存到缓冲区中,如下所示: 捕获发送到Google语音识别服务器的音频
并将缓冲区写入Wav文件,如此处所示. Android将原始字节记录到HVEp Streaming的WAVE文件中
我的问题是如何获得适当的音频设置以保存在wav文件的标题中.事实上,当我播放wav文件时,只听到奇怪的噪音,这个参数,
short nChannels=2;// audio channels
int sRate=44100; // Sample rate
short bSamples = 16;// byteSample
Run Code Online (Sandbox Code Playgroud)
或者没有这个:
short nChannels=1;// audio channels
int sRate=8000; // Sample rate
short bSamples = 16;// byteSample
Run Code Online (Sandbox Code Playgroud)
令人困惑的是从logcat查看语音识别任务的参数我发现第一个Set PLAYBACK采样率为44100 HZ:
12-20 14:41:34.007: DEBUG/AudioHardwareALSA(2364): Set PLAYBACK PCM format to S16_LE (Signed 16 bit Little Endian)
12-20 14:41:34.007: DEBUG/AudioHardwareALSA(2364): Using 2 channels for PLAYBACK.
12-20 14:41:34.007: DEBUG/AudioHardwareALSA(2364): Set PLAYBACK sample rate to 44100 HZ
12-20 14:41:34.007: DEBUG/AudioHardwareALSA(2364): …Run Code Online (Sandbox Code Playgroud)