Android MediaRecorder: Difference between AmrWb and ThreeGpp OutputFormat
If i use the Android MediaRecorder to record i file i can set its properties like this:
this.recorder.SetAudioSource(AudioSource.Mic);
this.recorder.SetOutputFormat(OutputFormat.AmrWb);
this.recorder.SetAudioEncoder(AudioEncoder.AmrWb);
this.recorder.SetAudioSamplingRate(16000);
It generates a 3gpp -File. If i send the recorded file to the Google Cloud Speech API the audio is recognized and transformed into text:
var response = speech.SyncRecognize(new RecognitionConfig()
{
Encoding = RecognitionConfig.Types.AudioEncoding.AmrWb,
SampleRate = 16000,
LanguageCode ="de-DE"
}, RecognitionAudio.FromFile("test.3gpp"));
However, if i change the OutputFormat to
this.recorder.SetOutputFormat(OutputFormat.ThreeGpp);
it also generates a .3gpp-File, but the Google Cloud API throws an error. That's strange, because i thought the OutputFormat doesn't matter and just defines the container of the encoded data which are AMR encoded in both cases. So my question is:
What exactly is the difference between the AMR and the ThreeGpp OutputFormat?
链接地址: http://www.djcxy.com/p/5268.html上一篇: Java HTTPS客户端证书认证