百姓大小事,一呼百应!

百姓网 | 百姓知道

通讯通信

安卓科大讯飞在线语音合成能否计算播报时间

安卓科大讯飞在线语音合成能否计算播报时间

1 个回答

  • 剩下De余温Lv | 2017-09-25 15:42:24

    近需要使用语音播报功能百度七武器百度语音科讯飞语音考虑准确性专业性选择科讯飞科讯飞所提供android发sdk两种种集自身产品语音+sdk功能比较强初始化语音服务模块;另种纯发sdk集产品需要导入相应jar包使用考虑用语音技术所选择第二种sdkps:要sdk官文档太差写篇东西1首先需要jar包Msc.jarlibmsc.so文件(需要放armeabi文件夹)官网载2AndroidManifest文件填写权限3混淆打包候需要添加-keep class com.iflytek.**{*;}4代码使用:package com.tts.demo;import com.iflytek.cloud.ErrorCode;import com.iflytek.cloud.InitListener;import com.iflytek.cloud.SpeechConstant;import com.iflytek.cloud.SpeechError;import com.iflytek.cloud.SpeechSynthesizer;import com.iflytek.cloud.SpeechUtility;import com.iflytek.cloud.SynthesizerListener;import android.os.Bundle;import android.app.Activity;import android.util.Log;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity implements OnClickListener{private SpeechSynthesizer mySynthesizer;private Button tts_Button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tts_Button = (Button) findViewById(R.id.tts_button);tts_Button.setOnClickListener(this);/*使用语音平台传应用包候自定appid 应该使用与包相应appid申请提交没使用数限制*///语音初始化使用应用使用需要初始化没句现10111初始化失败SpeechUtility.createUtility(MainActivity.this, "appid=51e8ae25");//处理语音合关键类mySynthesizer = SpeechSynthesizer.createSynthesizer(this, myInitListener);}private InitListener myInitListener = new InitListener() {@Overridepublic void onInit(int code) {Log.d("mySynthesiezer:", "InitListener init() code = " + code);}};@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()){case R.id.tts_button://设置发音mySynthesizer.setParameter(SpeechConstant.VOICE_NAME,"xiaoyan");//设置音调mySynthesizer.setParameter(SpeechConstant.PITCH,"50");//设置音量mySynthesizer.setParameter(SpeechConstant.VOLUME,"50");int code = mySynthesizer.startSpeaking("欢迎使用语音导航", mTtsListener);Log.d("mySynthesiezer start code:", code+"");break;default:break;}}private SynthesizerListener mTtsListener = new SynthesizerListener() {@Overridepublic void onSpeakBegin() {}@Overridepublic void onSpeakPaused() {}@Overridepublic void onSpeakResumed() {}@Overridepublic void onBufferProgress(int percent, int beginPos, int endPos,String info) {}@Overridepublic void onSpeakProgress(int percent, int beginPos, int endPos) {}@Overridepublic void onCompleted(SpeechError error) {if(error!=null){Log.d("mySynthesiezer complete code:", error.getErrorCode()+"");}else{Log.d("mySynthesiezer complete code:", "0");}}};}

    本问答由剩下De余温Lv提供

* 本站部分内容来源自网络,仅作分享之用,侵删。