讯飞语音如何实现自动播放
讯飞语音如何实现自动播放
发布时间:2018-02-01 来源:查字典编辑
摘要:网上和官网的例子都是需要有一个点击事件实现mTts.startSpeaking()的方法,如何让其自动播放,不需要点击事件?我尝试把它放在o...

网上和官网的例子都是需要有一个点击事件实现mTts.startSpeaking()的方法,如何让其自动播放,不需要点击事件?我尝试把它放在onCreate();中但是无法实现请问是什么原因。我需要的效果是一进来就自动播放语言,而不是需要点击一下才播放。求指教

public class MainActivity extends Activity {

private SpeechSynthesizer mTts;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

SpeechUtility.createUtility(this, SpeechConstant.APPID + "53c4c169");

mTts = SpeechSynthesizer.createSynthesizer(this, null);

set_mTts();

Button btn = (Button) findViewById(R.id.btn);

btn.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

mTts.startSpeaking(

"7月14日,2014年英国范堡罗航展正式开幕。瑞典萨伯公司研制的最新型“鹰狮NG”战斗机首次亮相该航展。该机在Jas-39“鹰狮”基础上进行全面改进,更换了最新型的AESA雷达,并配备有“流星”中程空空导弹、IRIS-T近距格斗导弹、KEPD-350远程防区外空地导弹等最新一代机载武器,战斗力得到空前飞跃。",

mTtsListener);

}

});

}

private void set_mTts() {

// 设置发音人

mTts.setParameter(SpeechConstant.VOICE_NAME, "xiaoyan");

// 设置语速

mTts.setParameter(SpeechConstant.SPEED, "50");

// 设置音调

mTts.setParameter(SpeechConstant.PITCH, "50");

// 设置音量0-100

mTts.setParameter(SpeechConstant.VOLUME, "100");

// 设置播放器音频流类型

mTts.setParameter(SpeechConstant.STREAM_TYPE, "3");

// 如果不需要保存保存合成音频,请注释下行代码

// mTts.setParameter(SpeechConstant.TTS_AUDIO_PATH,

// "./sdcard/iflytek.pcm");

mTts.startSpeaking(

"7月14日,2014年英国范堡罗航展正式开幕。瑞典萨伯公司研制的最新型“鹰狮NG”战斗机首次亮相该航展。该机在Jas-39“鹰狮”基础上进行全面改进,更换了最新型的AESA雷达,并配备有“流星”中程空空导弹、IRIS-T近距格斗导弹、KEPD-350远程防区外空地导弹等最新一代机载武器,战斗力得到空前飞跃。",

mTtsListener);

}

private SynthesizerListener mTtsListener = new SynthesizerListener() {

// 缓冲进度回调,arg0为缓冲进度,arg1为缓冲音频在文本中开始的位置,arg2为缓冲音频在文本中结束的位置,arg3为附加信息

@Override

public void onBufferProgress(int arg0, int arg1, int arg2, String arg3) {

// TODO Auto-generated method stub

}

// 会话结束回调接口,没有错误时error为空

@Override

public void onCompleted(SpeechError error) {

// TODO Auto-generated method stub

}

// 开始播放

@Override

public void onSpeakBegin() {

// TODO Auto-generated method stub

}

// 停止播放

@Override

public void onSpeakPaused() {

// TODO Auto-generated method stub

}

// 播放进度回调,arg0为播放进度0-100;arg1为播放音频在文本中开始的位置,arg2为播放音频在文本中结束的位置。

@Override

public void onSpeakProgress(int arg0, int arg1, int arg2) {

// TODO Auto-generated method stub

}

// 恢复播放回调接口

@Override

public void onSpeakResumed() {

// TODO Auto-generated method stub

}

};

@Override

protected void onDestroy() {

mTts.stopSpeaking();

mTts.destroy();// 退出时释放连接

super.onDestroy();

}

}


推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类