首页 > 代码库 > 将文本转换成语音
将文本转换成语音
又一次在这里和大家在这里和大家见面了。几天给大家看的是如何实现将文本转换成语音。这可是现在很流行的一种快捷表达方式哦!!看《nikita》没?当时我的那个羡慕呀!!不过还好,有我们的讯飞科技为我们写这个强大的程序接口,这样,我们就有机会实现其效果哦!
这里只是谢了一个简单的类似与HelloWorld的那种简单程序。但是这个一通则百通吧。
首先呢?我们必须要在Eclipse环境里面导入一个jar包,那就是这个地址上的jar包。http://download.csdn.net/detail/wangquan123456789/2675849是一个google开发的jar包。
然后再到讯飞科技平台里面去下载一个SDK,然后导入SDK里面的jar,就开始工作了。
提供一个下载地址:http://open.voicecloud.cn/,这是官网。。。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | package com.example.voiceandroidtts; import com.iflytek.speech.ErrorCode; import com.iflytek.speech.ISpeechModule; import com.iflytek.speech.InitListener; import com.iflytek.speech.SpeechSynthesizer; import com.iflytek.speech.SynthesizerListener; import android.support.v7.app.ActionBarActivity; import android.support.v4.app.Fragment; import android.os.Bundle; import android.os.RemoteException; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.Button; public class MainActivity extends ActionBarActivity { // 语音合成对象 private SpeechSynthesizer mTts; private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (savedInstanceState == null ) { getSupportFragmentManager().beginTransaction() .add(R.id.container, new PlaceholderFragment()).commit(); } // 初始化合成对象 mTts = new SpeechSynthesizer( this , mTtsInitListener); } /** * 初期化监听。 */ private InitListener mTtsInitListener = new InitListener() { @Override public void onInit(ISpeechModule arg0, int code) { if (code == ErrorCode.SUCCESS) { mTts.startSpeaking( "我叫王五,你呢?!!!or i love you!!" , mTtsListener); ((Button) findViewById(R.id.btn)).setEnabled( true ); } } }; private void onAction(View v) { mTts.startSpeaking( "I love you!!!" , mTtsListener); } /** * 合成回调监听。 */ private SynthesizerListener mTtsListener = new SynthesizerListener.Stub() { @Override public void onBufferProgress( int progress) throws RemoteException { // showTip("onBufferProgress :" + progress); } @Override public void onCompleted( int code) throws RemoteException { showTip( "onCompleted code =" + code); } @Override public void onSpeakBegin() throws RemoteException { showTip( "onSpeakBegin" ); } @Override public void onSpeakPaused() throws RemoteException { showTip( "onSpeakPaused." ); } @Override public void onSpeakProgress( int progress) throws RemoteException { showTip( "onSpeakProgress :" + progress); } @Override public void onSpeakResumed() throws RemoteException { showTip( "onSpeakResumed" ); } }; private void showTip( final String str) { runOnUiThread( new Runnable() { @Override public void run() { } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true ; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true ; } return super .onOptionsItemSelected(item); } /** * A placeholder fragment containing a simple view. */ public static class PlaceholderFragment extends Fragment { public PlaceholderFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_main, container, false ); return rootView; } } } |
就这样。是不是很easy,也许会开始的时候有一点摸不着头脑,不过没关系,只要一会儿,也许就ok啦!!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。