Android 语音合成(使用科大讯飞sdk)

转载 2016年05月31日 09:49:15

转自:http://blog.csdn.net/bufanni12/article/details/29574467

最近需要使用到语音播报的功能,在百度七武器百度语音和科大讯飞的语音当中考虑到准确性和专业性,选择了科大讯飞。科大讯飞所提供的Android开发sdk有两种一种是集成了自身产品语音+的sdk,功能比较强大但是会初始化语音服务模块;另一种是纯开发sdk不集成产品只需要导入相应jar包就可以使用。考虑到只用到了语音合成的技术所以选择了第二种sdk。

ps:要不是他sdk的官方文档写的太差了,也不会写这篇东西。

1,首先需要的jar包,一个是Msc.jar和libmsc.so文件(需要放到armeabi文件夹当中)。在官网中可以下载。

2,在AndroidManifest文件当中填写需要的权限。

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <uses-permission android:name="android.permission.RECORD_AUDIO" />  
  2. <uses-permission android:name="android.permission.INTERNET" />  
  3. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
  4. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  
  5. <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />  
  6. <uses-permission android:name="android.permission.READ_PHONE_STATE"/>  
3,在混淆打包的时候需要添加-keep class com.iflytek.**{*;},

4,在代码当中的使用:

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. package com.tts.demo;  
  2.   
  3. import com.iflytek.cloud.ErrorCode;  
  4. import com.iflytek.cloud.InitListener;  
  5. import com.iflytek.cloud.SpeechConstant;  
  6. import com.iflytek.cloud.SpeechError;  
  7. import com.iflytek.cloud.SpeechSynthesizer;  
  8. import com.iflytek.cloud.SpeechUtility;  
  9. import com.iflytek.cloud.SynthesizerListener;  
  10.   
  11. import android.os.Bundle;  
  12. import android.app.Activity;  
  13. import android.util.Log;  
  14. import android.view.Menu;  
  15. import android.view.View;  
  16. import android.view.View.OnClickListener;  
  17. import android.widget.Button;  
  18.   
  19. public class MainActivity extends Activity implements OnClickListener{  
  20.       
  21.     private SpeechSynthesizer mySynthesizer;  
  22.       
  23.     private Button tts_Button;  
  24.   
  25.     @Override  
  26.     protected void onCreate(Bundle savedInstanceState) {  
  27.         super.onCreate(savedInstanceState);  
  28.         setContentView(R.layout.activity_main);  
  29.           
  30.         tts_Button = (Button) findViewById(R.id.tts_button);  
  31.         tts_Button.setOnClickListener(this);  
  32.         /*  
  33.         在使用语音平台上传应用包的时候会自定生成一个appid   应该使用与包相对应的appid在申请提交后没有使用次数的限制  
  34.           
  35.         */  
  36.         //语音初始化,在使用应用使用时需要初始化一次就好,如果没有这句会出现10111初始化失败  
  37.         SpeechUtility.createUtility(MainActivity.this, "appid=51e8ae25");  
  38.         //处理语音合成关键类  
  39.         mySynthesizer = SpeechSynthesizer.createSynthesizer(this, myInitListener);  
  40.     }  
  41.   
  42.     private InitListener myInitListener = new InitListener() {  
  43.         @Override  
  44.         public void onInit(int code) {  
  45.             Log.d("mySynthesiezer:", "InitListener init() code = " + code);  
  46.         }  
  47.     };  
  48.   
  49.     @Override  
  50.     public void onClick(View v) {  
  51.         // TODO Auto-generated method stub  
  52.         switch (v.getId()){  
  53.         case R.id.tts_button:  
  54.             //设置发音人  
  55.             mySynthesizer.setParameter(SpeechConstant.VOICE_NAME,"xiaoyan");  
  56.             //设置音调  
  57.             mySynthesizer.setParameter(SpeechConstant.PITCH,"50");  
  58.             //设置音量  
  59.             mySynthesizer.setParameter(SpeechConstant.VOLUME,"50");  
  60.             int code = mySynthesizer.startSpeaking("欢迎使用语音导航!", mTtsListener);  
  61.             Log.d("mySynthesiezer start code:", code+"");  
  62.             break;  
  63.         default:  
  64.             break;  
  65.         }  
  66.     }  
  67.       
  68.       
  69.     private SynthesizerListener mTtsListener = new SynthesizerListener() {  
  70.         @Override  
  71.         public void onSpeakBegin() {  
  72.         }   
  73.         @Override  
  74.         public void onSpeakPaused() {  
  75.         }  
  76.         @Override  
  77.         public void onSpeakResumed() {  
  78.         }  
  79.         @Override  
  80.         public void onBufferProgress(int percent, int beginPos, int endPos,  
  81.                 String info) {  
  82.         }  
  83.         @Override  
  84.         public void onSpeakProgress(int percent, int beginPos, int endPos) {  
  85.         }  
  86.   
  87.         @Override  
  88.         public void onCompleted(SpeechError error) {  
  89.             if(error!=null)  
  90.             {  
  91.                 Log.d("mySynthesiezer complete code:", error.getErrorCode()+"");  
  92.             }  
  93.             else  
  94.             {  
  95.                 Log.d("mySynthesiezer complete code:", "0");  
  96.             }  
  97.         }  
  98.     };  
  99.   
  100. }  

Android 语音合成(使用科大讯飞sdk)

转自:http://blog.csdn.net/bufanni12/article/details/29574467 最近需要使用到语音播报的功能,在百度七武器百度语音和科大讯飞的语音当中考...
  • gf771115
  • gf771115
  • 2016年05月31日 09:49
  • 5406

讯飞语音混淆后无法启动APP

讯飞语音混淆后无法启动
  • ma969070578
  • ma969070578
  • 2015年02月04日 13:40
  • 1840

科大讯飞语音集成,非常详细的使用讲解

讯飞语音开发集成地址http://www.xfyun.cn/ 解压后的doc文件夹下的msc develop 文件中有详细集成步骤 AppId: 1.先要注册开发者账户, 添加我的应用 ,...
  • u012635169
  • u012635169
  • 2016年04月03日 12:18
  • 22503

Android 语音合成(使用科大讯飞sdk)

关于语音合成的操作,使用科大讯飞的sdk开发jar包
  • bufanni12
  • bufanni12
  • 2014年06月09日 15:24
  • 5612

Java 使用科大讯飞MSC SDK,在web服务端将文字合成语音,将pcm文件转为wav格式返回

本文讲述的是使用科大讯飞MSC SDK将语文字合成语音,然后以web接口的形式把合成的音频数据返回前端。 流程 1、接收接口参数传入的要合成的数据 2、使用MSC SDK把数据合成*.pcm...
  • weixin_36751895
  • weixin_36751895
  • 2018年01月02日 19:30
  • 137

使用科大讯飞提供的SDK实现android语音识别

实现android语音识别一、准备工作科大讯飞开放云平台:http://www.xfyun.cn,自行注册。 注册完毕后下载科大讯飞云平台提供的SDK,勾选下面的服务选择android平台后,下载SD...
  • huosanghuakai1995
  • huosanghuakai1995
  • 2017年07月16日 20:45
  • 797

android中科大讯飞在线语音合成

  • 2017年08月02日 18:16
  • 34.95MB
  • 下载

接入高德 SDK 遇到的问题 01:语音导航中科大讯飞在线语音合成次数限制

需求:采用高德导航SDK实现路线导航,并且实现语音播报导航 问题:高德导航语音合成开发指南中建议采用的科大讯飞在线语音合成存在次数限制,远远达不到生产环境的需求量 解决:采用百度离在线语音识别 A...
  • zeqiao
  • zeqiao
  • 2018年01月02日 15:40
  • 106

集成Android 科大讯飞免费在线语音合成播报功能(附源码)

概述 开篇先介绍一下‘科大讯飞’,毕竟是我家乡合肥的科技公司,我感到骄傲,更重要的是它在语音识别行业也是佼佼者,在如今人工智能横飞的时代,依然能够保持着较高水准的技术优势。在此,希望科大在AI之战中能...
  • csdn_aiyang
  • csdn_aiyang
  • 2017年12月14日 18:28
  • 209

语音合成和语音听写,科大讯飞android

  • 2014年05月02日 10:38
  • 2.87MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 语音合成(使用科大讯飞sdk)
举报原因:
原因补充:

(最多只允许输入30个字)