sdk2.1 对于老的设备 或不按标准设计的设备 音源不能够自定义
在
MicrophoneInputStream 147行 AudioRecord r = new AudioRecord(1, sample, 16, 2, 163840);参数是写死了的,除了sample,希望支持自定义,现在我用遥控器的录音的时候就没法耍了。
我需要这样的
this.audioSource = MediaRecorder.AudioSource.VOICE_RECOGNITION;this.sampleRateInHz = 16000;
this.channelConfig = AudioFormat.CHANNEL_CONFIGURATION_MONO;//AudioFormat.CHANNEL_IN_MONO;
this.audioFormat = AudioFormat.ENCODING_PCM_16BIT;
this.bufferSizeInBytes = 163840;
转换后如下
AudioRecord r = new AudioRecord(6, 16k, 2, 2, 163840);1、目前使用语音识别 2.0.1sdk 不能使用feedAudioBuffer,使用系统接口貌似 在有些设备上不能运行
2、使用语音识别2.1sdk beta识别成功返回值只是一个list ,我们需要返回原始数据的json,好对语义进行解析
com.android.speech 系统接口在有些设备上不能使用,比如我这边的电视TV就不能识别,原因是那个audioRecord没有工作
我这边主要是电视语音交互的开发,我还是比较喜欢系统接口的方式,不知道怎么解决sdk的问题。
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
您好,1.6可以参考对应demo的语义部分,语义部分是nbest数组的第0项
// 重写监听器
class MyVoiceRecogListener implements VoiceClientStatusChangeListener {
public void onClientStatusChange(int status, Object obj) {
// 处理识别状态变化
}
public void onError(int errorType, int errorCode) {
// 处理出错异常
}
public void onNetworkStatusChange(int status, Object obj) {
// 处理网络状态变化
}
}
onClientStatusChange(int status, Object obj)
这个Object obj参数返回的不是原始的语义json数据,只是一个简单的识别结果,希望像1.6.2那样返回origin_result json数据
1. 可以通过infile参数来自定义音频数据源
2. origin_result就是您需要的原始结构体,该结构体中包含json_res字段(特别注意该字段是以字符串形式返回的),即语义