安卓资源收集UITAndroid开发经验谈

基于百度SDK的在线语音识别

2017-10-31  本文已影响167人  瓦西大人

基于百度的语音识别demo
最近在做一个关于语音识别的项目,所以借鉴了百度的语音识别的SDK和相关案例。目前用到的只是将语音转换成文字的部分,所以我就着这个方向总结一下。
首先要在百度语音开放平台申请注册,注意事项:

  1. 在百度语音开放平台注册应用地址:http://yuyin.baidu.com/app

    申请.png
  2. 给在百度语音开放平台注册应用绑定包名。在build.gradle文件中查看。


    注册信息.png
  3. ![Uploading 管理包名_239962.png . . .]
    在当前应用的AndroidManifest.xml中填写相应的APP_ID API_KEY SECRET_KEY


    信息.png
  4. 首次使用联网。正式授权目前有效期三年,三年之后的最后一个月尝试更新正式授权。
    5.下载SDK


    SDK下载.png

做好这些预备以后将百度的so库和jar库添加到自己的项目文件中并配置Gradle文件。


添加jar库.png
添加so库.png
配置Gradle文件.png

接下来就可以开始写自己的项目了!
先进行权限声明

   <!-- 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

上一篇 下一篇

猜你喜欢

热点阅读