码迷,mamicode.com
首页 > 其他好文 > 详细

将文本转换成语音

时间:2014-05-08 07:50:33      阅读:418      评论:0      收藏:0      [点我收藏+]

标签:android   blog   class   code   java   tar   

     又一次在这里和大家在这里和大家见面了。几天给大家看的是如何实现将文本转换成语音。这可是现在很流行的一种快捷表达方式哦!!看《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啦!!

将文本转换成语音,布布扣,bubuko.com

将文本转换成语音

标签:android   blog   class   code   java   tar   

原文地址:http://www.cnblogs.com/Catherine-Brain/p/3714360.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!