`

【java】试用讯飞SDK开发语音tts初步代码

    博客分类:
  • java
阅读更多
tts开发对中文并不很支持,网络上有个eye-free的开源项目不过没有源代码,故找了国内最好的讯飞语音进行开发工作。

首先去讯飞网站上注册,下载相应SDK,此处下载为java版本。
获取代码,修改其程序。
将所需要的dll文件放入path目录---java/bin目录
然后项目中加入两个jar包。
按照其源代码实现自己的读取程序。
package com.duduli.li;

import com.iflytek.speech.SpeechError;
import com.iflytek.speech.SynthesizerPlayer;
import com.iflytek.speech.SynthesizerPlayerListener;

public class XunFei {
	public XunFei() {
		if (SynthesizerPlayer.getSynthesizerPlayer() == null)
			// 此处为util包中的定义
			SynthesizerPlayer.createSynthesizerPlayer("appid=535602f2");
	}

	public void test() {

		SynthesizerPlayer synthesizer = SynthesizerPlayer
				.getSynthesizerPlayer();
		synthesizer.setVoiceName("xiaoyu");
		// 设置朗读速度为50
		synthesizer.setSpeed(50);
		// 合成文本为TEXT_CONTENT的句子,设置监听器为mSynListener
		synthesizer.playText("网络是由节点和连线构成,表示诸对象及其相互联系。在数学上,网络是一种图,一般认为它专指加权图。", null,
				mSynListener);
	}

	private SynthesizerPlayerListener mSynListener = new SynthesizerPlayerListener() {

		public void onEnd(SpeechError error) {
		}

		public void onBufferPercent(int percent, int beginPos, int endPos,
				String args) {

		}

		public void onPlayBegin() {

		}

		public void onPlayPaused() {

		}

		public void onPlayPercent(int percent, int beginPos, int endPos) {
		}

		public void onPlayResumed() {

		}
	};

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		XunFei xf = new XunFei();
		xf.test();

	}

}


讯飞除了android的sdk提供离线语音合成外,其他均需要进行网络连接。
下一步将android中的离线语音分离出来。让java也可以实现简单的离线语音功能。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics