讯飞 文字转语音

讯飞 文字转语音

1.MyApplication:

@Override
public void onCreate() {
    SpeechUtility.createUtility(getApplicationContext(), "appid=5bb7dbe3 ");
    AudioUtils.getInstance().init(getApplicationContext());
}

2.MainActivity:

private SpeechSynthesizer mySynthesizer;

private InitListener myInitListener = new InitListener() {
    @Override
    public void onInit(int code) {
        Log.d("mySynthesiezer:", "InitListener init() code = " + code);
    }
};
    
@Override
public void onClick(View view) {
    switch (view.getId()) {
        case R.id.tv_stop_audio:
            mySynthesizer.stopSpeaking();
            break;
        case R.id.iv_current_line_audio:
            init(this);
            speakText("张三李四王五赵六冯七钱八");
            break;
        }
    }
}

public void init(Context context) {
    //处理语音合成关键类
    mySynthesizer = SpeechSynthesizer.createSynthesizer(context, myInitListener);
    //设置发音人
    mySynthesizer.setParameter(SpeechConstant.VOICE_NAME, "xiaoyan");
    //设置音调
    mySynthesizer.setParameter(SpeechConstant.PITCH, "50");
    //设置音量
    mySynthesizer.setParameter(SpeechConstant.VOLUME, "50");
}

public void speakText(String string) {
    mySynthesizer.startSpeaking(string, new SynthesizerListener() {
        @Override
        public void onSpeakBegin() { }
        @Override
        public void onBufferProgress(int i, int i1, int i2, String s) { }
        @Override
        public void onSpeakPaused() { }
        @Override
        public void onSpeakResumed() { }
        @Override
        public void onSpeakProgress(int i, int i1, int i2) { }
        @Override
        public void onCompleted(SpeechError speechError) { }
        @Override
        public void onEvent(int i, int i1, int i2, Bundle bundle) { }
    });
}

你可能感兴趣的:(Android)