基于百度的语音识别demo
最近在做一个关于语音识别的项目,所以借鉴了百度的语音识别的SDK和相关案例。目前用到的只是将语音转换成文字的部分,所以我就着这个方向总结一下。
首先要在百度语音开放平台申请注册,注意事项:
-
在百度语音开放平台注册应用地址:http://yuyin.baidu.com/app
-
给在百度语音开放平台注册应用绑定包名。在build.gradle文件中查看。
-
![Uploading 管理包名_239962.png . . .]
在当前应用的AndroidManifest.xml中填写相应的APP_ID API_KEY SECRET_KEY
-
首次使用联网。正式授权目前有效期三年,三年之后的最后一个月尝试更新正式授权。
5.下载SDK
做好这些预备以后将百度的so库和jar库添加到自己的项目文件中并配置Gradle文件。
接下来就可以开始写自己的项目了!
先进行权限声明
<!-- begin: baidu speech sdk 权限 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- end: baidu speech sdk 权限 -->
识别控制器,使用MyRecognizer控制识别的流程
protected MyRecognizer myRecognizer;
开始录音、停止录音、取消录音的代码
/**
* 开始录音,点击“开始”按钮后调用。
*/
protected void start() {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ActivityRecog.this);
Map<String, Object> params = apiParams.fetch(sp);
myRecognizer.start(params);
}
/**
* 开始录音后,手动停止录音。SDK会识别在此过程中的录音。点击“停止”按钮后调用。
*/
private void stop() {
myRecognizer.stop();
}
/**
* 开始录音后,取消这次录音。SDK会取消本次识别,回到原始状态。点击“取消”按钮后调用。
*/
private void cancel() {
myRecognizer.cancel();
}
看到的挺好的两篇相关博客,有兴趣可以看一下:
http://blog.csdn.net/voicefans/article/details/27345137
http://blog.csdn.net/hexingen/article/details/60964708