Android应用开发Android 简单讯飞语音合成与语音听写功能实现教程
白羽 2019-03-15 来源 :网络 阅读 1385 评论 0

摘要:本文将带你了解Android应用开发Android 简单讯飞语音合成与语音听写功能实现教程,希望本文对大家学Android有所帮助。

    本文将带你了解Android应用开发Android 简单讯飞语音合成与语音听写功能实现教程,希望本文对大家学Android有所帮助。



Android应用开发Android 简单讯飞语音合成与语音听写功能实现教程


Android   简单讯飞语音合成与语音听写功能实现教程,展示效果
    这里写图片描述
   
    讯飞语音开发解压后的doc文件夹下的msc develop 文件中有详细集成步骤
    先注册一个账号
    这里写图片描述
   
    注册成功后,点击自己的应用,点击下载相关的SDK
    这里写图片描述
   
    SDK的页面
    这里写图片描述
    这里写图片描述
   
    下载后将sdk解压, 把案例导入工程中运行看看效果
    这里写图片描述
   
    将libs下的两个jar包添加到libs目录下, 将同路径下的其它 .so文件(与c进行交互)复制到main路径下新建的   jniLibs(L要大写)目录下(别忘了jar包要add) , 将assert目录拷贝到main目录下 注意 : 这些都是自己创建的应用生成的,   在申请appid时就与自己的应用绑定了, 拷贝别人的是没有用的
    这里写图片描述
   
    添加权限
   
   

       
       

    创建类 , 以下是代码: initSpeech()方法下的APPID需要改成上面介绍中自己应用生成的appId
    MainActivity
   
    public class MainActivity extends Activity implements View.OnClickListener   {
     
        private static final String TAG =   MainActivity.class .getSimpleName();
        private EditText et_input;
        private Button btn_startspeech,   btn_startspeektext ;
     
        // 用HashMap存储听写结果
        private HashMapmIatResults = new LinkedHashMap();
     
        @Override
        protected void onCreate(Bundle   savedInstanceState) {
            super   .onCreate(savedInstanceState) ;
            initView() ;
            initSpeech() ;
        }
     
        private void initView() {
              setContentView(R.layout.activity_main) ;
            et_input = (EditText)   findViewById(R.id.et_input );
            btn_startspeech = (Button)   findViewById(R.id.btn_startspeech );
            btn_startspeektext = (Button)   findViewById(R.id.btn_startspeektext );
            btn_startspeech   .setOnClickListener(this) ;
            btn_startspeektext   .setOnClickListener(this) ;
        }
     
        private void initSpeech() {
            // 将“12345678”替换成您申请的   APPID,申请地址: https://www.xfyun.cn
            // 请勿在 “ =”与 appid   之间添加任务空字符或者转义符
            SpeechUtility. createUtility(   this, SpeechConstant. APPID + =56ffe0ae );
        }
     
        @Override
        public void onClick(View v)   {
            switch (v.getId()) {
                case   R.id.btn_startspeech: //语音识别(把声音转文字)
                      startSpeechDialog();
                    break;
                case R.id.   btn_startspeektext:// 语音合成(把文字转声音)
                    speekText();
                    break;
            }
     
        }
     
        private void speekText() {
            //1. 创建 SpeechSynthesizer 对象   , 第二个参数: 本地合成时传 InitListener
            SpeechSynthesizer mTts =   SpeechSynthesizer.createSynthesizer( this, null);
    //2.合成参数设置,详见《 MSC Reference Manual》 SpeechSynthesizer 类
    //设置发音人(更多在线发音人,用户可参见 附录 13.2
              mTts.setParameter(SpeechConstant. VOICE_NAME, vixyun ); // 设置发音人
              mTts.setParameter(SpeechConstant. SPEED, 50 );// 设置语速
              mTts.setParameter(SpeechConstant. VOLUME, 80 );// 设置音量,范围 0~100
              mTts.setParameter(SpeechConstant. ENGINE_TYPE, SpeechConstant.   TYPE_CLOUD); //设置云端
    //设置合成音频保存位置(可自定义保存位置),保存在 “./sdcard/iflytek.pcm”
    //保存在 SD 卡需要在 AndroidManifest.xml 添加写 SD 卡权限
    //仅支持保存为 pcm 和 wav 格式, 如果不需要保存合成音频,注释该行代码
              mTts.setParameter(SpeechConstant. TTS_AUDIO_PATH, ./sdcard/iflytek.pcm   );
    //3.开始合成
            mTts.startSpeaking( et_input.getText().toString(),   new MySynthesizerListener()) ;
     
        }
     
        class MySynthesizerListener   implements SynthesizerListener {
     
            @Override
            public void onSpeakBegin() {
                showTip( 开始播放 );
            }
     
            @Override
            public void onSpeakPaused()   {
                showTip( 暂停播放 );
            }
     
            @Override
            public void onSpeakResumed()   {body{ }  


 

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程