基于讯飞开放平台的安卓语音开发——语音合成(文本→语音)

来源:互联网 发布:mac 照片图库 删除 编辑:程序博客网 时间:2024/05/17 03:27

基本的代码配置可以先参考以下博客: 
http://blog.csdn.net/zhengyikuangge/article/details/74937770


以下代码还是从讯飞官方提供的SDK中筛选出来的

public class MainActivity extends Activity {    // 语音合成对象    private SpeechSynthesizer mTts;    // 播放进度    private int mPercentForPlaying = 0;    // 缓冲进度    private int mPercentForBuffering = 0;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        // 初始化即创建语音配置对象,只有初始化后才可以使用MSC的各项服务        SpeechUtility.createUtility(MainActivity.this, SpeechConstant.APPID                + "=    595baeb7");        // 初始化合成对象        mTts = SpeechSynthesizer.createSynthesizer(MainActivity.this,                mTtsInitListener);        findViewById(R.id.bt).setOnClickListener(new OnClickListener() {            @Override            public void onClick(View arg0) {                // TODO Auto-generated method stub                String text = ((EditText) findViewById(R.id.et)).getText()                        .toString();                mTts.startSpeaking(text, mTtsListener);            }        });    }    /**     * 初始化监听器。     */    private InitListener mTtsInitListener = new InitListener() {        @Override        public void onInit(int code) {            if (code != ErrorCode.SUCCESS) {                Toast.makeText(MainActivity.this, "初始化失败,错误码:" + code,                        Toast.LENGTH_LONG).show();            }        }    };    /**     * 合成回调监听。     */    private SynthesizerListener mTtsListener = new SynthesizerListener() {        @Override        public void onSpeakBegin() {            // 开始播放        }        @Override        public void onSpeakPaused() {            // 暂停播放        }        @Override        public void onSpeakResumed() {            // 继续播放        }        @Override        public void onBufferProgress(int percent, int beginPos, int endPos,                String info) {            // 合成进度            mPercentForBuffering = percent;        }        @Override        public void onSpeakProgress(int percent, int beginPos, int endPos) {            // 播放进度            mPercentForPlaying = percent;        }        @Override        public void onCompleted(SpeechError error) {        }        @Override        public void onEvent(int eventType, int arg1, int arg2, Bundle obj) {        }    };}
原创粉丝点击