下载好Baidu的官方SDK
将Demo中的jar拷贝到自己的lib库中,当然还有jniLib的文件
因为Baidu语音的就是采用 单例设计 ,就不需要在 Application中进行响应的初始化了,直接哪里使用就可以哪里获取,
接下来就是初始化和调用了,
mMSpeechSynthesizer = SpeechSynthesizer.getInstance(); mMSpeechSynthesizer.setContext(this); // this 是Context的之类,如Activity mMSpeechSynthesizer.setSpeechSynthesizerListener(new SpeechSynthesizerListener() { @Override public void onSynthesizeStart(String s) { Log.e("xxxxxx", "onClick: -------------------------1 " ); } @Override public void onSynthesizeDataArrived(String s, byte[] bytes, int i) { Log.e("xxxxxx", "onClick: -------------------------2 " ); } @Override public void onSynthesizeFinish(String s) { Log.e("xxxxxx", "onClick: -------------------------3 " ); } @Override public void onSpeechStart(String s) { Log.e("xxxxxx", "onClick: -------------------------4 " ); } @Override public void onSpeechProgressChanged(String s, int i) { Log.e("xxxxxx", "onClick: -------------------------5 " ); } @Override public void onSpeechFinish(String s) { Log.e("xxxxxx", "onClick: -------------------------5 " ); } @Override public void onError(String s, SpeechError speechError) { Log.e("xxxxxx", "onClick: -------------------------6 " + s); } }); mMSpeechSynthesizer.setAppId("10401744"); //这个是官方的appId,可以到Baidu的后台查看 mMSpeechSynthesizer.setApiKey("cKrEGAYLEYwtup9NO8e0cdK5","ca2fcbc0263a2b458ba4ff6a42f4fbf8");//appKey 和 secretKey mMSpeechSynthesizer.setParam(SpeechSynthesizer.PARAM_SPEAKER, "0"); // 设置发声的人声音,在线生效 // mMSpeechSynthesizer.auth(TtsMode.ONLINE); // 纯在线 mMSpeechSynthesizer.auth(TtsMode.MIX); // 离在线混合 mMSpeechSynthesizer.initTts(TtsMode.MIX); // 初始化离在线混合模式,
第二步,调用:就这样一句话
mMSpeechSynthesizer.speak("收钱吧到账15元");
记住:自己使用的时候请将appID appKey 和 secretKey换成自己的应用响应的Id