又一次在这里和大家在这里和大家见面了。几天给大家看的是如何实现将文本转换成语音。这可是现在很流行的一种快捷表达方式哦!!看《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 | packagecom.example.voiceandroidtts;importcom.iflytek.speech.ErrorCode;importcom.iflytek.speech.ISpeechModule;importcom.iflytek.speech.InitListener;importcom.iflytek.speech.SpeechSynthesizer;importcom.iflytek.speech.SynthesizerListener;importandroid.support.v7.app.ActionBarActivity;importandroid.support.v4.app.Fragment;importandroid.os.Bundle;importandroid.os.RemoteException;importandroid.view.LayoutInflater;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.Button;publicclassMainActivity extendsActionBarActivity {    // 语音合成对象    privateSpeechSynthesizer mTts;    privateButton btn;    @Override    protectedvoidonCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        if(savedInstanceState == null) {            getSupportFragmentManager().beginTransaction()                    .add(R.id.container, newPlaceholderFragment()).commit();        }        // 初始化合成对象        mTts = newSpeechSynthesizer(this, mTtsInitListener);    }    /**     * 初期化监听。     */    privateInitListener mTtsInitListener = newInitListener() {        @Override        publicvoidonInit(ISpeechModule arg0, intcode) {            if(code == ErrorCode.SUCCESS) {                                mTts.startSpeaking("我叫王五,你呢?!!!or i love you!!", mTtsListener);                ((Button) findViewById(R.id.btn)).setEnabled(true);            }        }    };    privatevoidonAction(View v) {        mTts.startSpeaking("I love you!!!", mTtsListener);    }    /**     * 合成回调监听。     */    privateSynthesizerListener mTtsListener = newSynthesizerListener.Stub() {        @Override        publicvoidonBufferProgress(intprogress) throwsRemoteException {            // showTip("onBufferProgress :" + progress);        }        @Override        publicvoidonCompleted(intcode) throwsRemoteException {            showTip("onCompleted code ="+ code);        }        @Override        publicvoidonSpeakBegin() throwsRemoteException {            showTip("onSpeakBegin");        }        @Override        publicvoidonSpeakPaused() throwsRemoteException {            showTip("onSpeakPaused.");        }        @Override        publicvoidonSpeakProgress(intprogress) throwsRemoteException {            showTip("onSpeakProgress :"+ progress);        }        @Override        publicvoidonSpeakResumed() throwsRemoteException {            showTip("onSpeakResumed");        }    };    privatevoidshowTip(finalString str) {        runOnUiThread(newRunnable() {            @Override            publicvoidrun() {            }        });    }    @Override    publicbooleanonCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        returntrue;    }    @Override    publicbooleanonOptionsItemSelected(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.        intid = item.getItemId();        if(id == R.id.action_settings) {            returntrue;        }        returnsuper.onOptionsItemSelected(item);    }    /**     * A placeholder fragment containing a simple view.     */    publicstaticclassPlaceholderFragment extendsFragment {        publicPlaceholderFragment() {        }        @Override        publicView onCreateView(LayoutInflater inflater, ViewGroup container,                Bundle savedInstanceState) {            View rootView = inflater.inflate(R.layout.fragment_main, container,                    false);            returnrootView;        }    }} | 
就这样。是不是很easy,也许会开始的时候有一点摸不着头脑,不过没关系,只要一会儿,也许就ok啦!!
原文:http://www.cnblogs.com/Catherine-Brain/p/3714360.html