我正在编写一个应用程序,它的行为将类似于现有的语音识别,但将发送声音数据到一个专有的web服务来执行语音识别部分。我使用的标准MediaRecord (这是AMR编码),似乎是完美的语音识别。通过getMaxAmplitude()方法提供的唯一数据是振幅。
我试图检测人什么时候开始说话,这样当这个人停止说话大约2秒时,我就可以继续将声音数据发送到web服务。现在,我用一个阈值来表示振幅,如果它超过一个值(即1500),那么我假设这个人在说话。我担心的是,振幅水平可能因设备而异(即Nexus One v Droid),因此我正在寻找一种更标准的方法,可以从振幅值中导出。
我看了,但它并没有提供一