欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用科大訊飛語音SDK實(shí)現(xiàn)文字在線合成語音

 更新時(shí)間:2015年12月16日 09:52:07   作者:路邊橋涼  
這篇文章主要介紹了使用科大訊飛語音SDK實(shí)現(xiàn)文字在線合成語音 的相關(guān)資料,需要的朋友可以參考下

最近需要使用到語音播報(bào)的功能,在百度七武器百度語音和科大訊飛的語音當(dāng)中考慮到準(zhǔn)確性和專業(yè)性,選擇了科大訊飛??拼笥嶏w所提供的android開發(fā)sdk有兩種一種是集成了自身產(chǎn)品語音+的sdk,功能比較強(qiáng)大但是會(huì)初始化語音服務(wù)模塊;另一種是純開發(fā)sdk不集成產(chǎn)品只需要導(dǎo)入相應(yīng)jar包就可以使用。考慮到只用到了語音合成的技術(shù)所以選擇了第二種sdk。

具體代碼如下所示:

private SpeechSynthesizer mTts; private int isSpeaking = 0; mTts= SpeechSynthesizer.createSynthesizer(this, null); /*
   * 開始合成
   * 
   * @param view
   */
  public void start() {
    mTts.setParameter(SpeechConstant.VOICE_NAME, "xiaoyan");
    mTts.setParameter(SpeechConstant.SPEED, "50");//設(shè)置語速
    mTts.setParameter(SpeechConstant.VOLUME, "80");//設(shè)置音量,范圍 0~100
    mTts.setParameter(SpeechConstant.ENGINE_TYPE, SpeechConstant.TYPE_CLOUD); //設(shè)置云端
    mTts.startSpeaking(search_word_content.getText().toString().trim(), mSynListener);
  } 
//合成監(jiān)聽器
  private SynthesizerListener mSynListener = new SynthesizerListener(){
    //緩沖進(jìn)度回調(diào)
    //percent為緩沖進(jìn)度0~100,beginPos為緩沖音頻在文本中開始位置,endPos表示緩沖音頻在
    //文本中結(jié)束位置,info為附加信息。
    @Override
    public void onBufferProgress(int arg0, int arg1, int arg2, String arg3) {
      // TODO Auto-generated method stub
    }
    //會(huì)話結(jié)束回調(diào)接口,沒有錯(cuò)誤時(shí),error為null
    @Override
    public void onCompleted(SpeechError arg0) {
      // TODO Auto-generated method stub
    }
    //會(huì)話事件回調(diào)接口
    @Override
    public void onEvent(int arg0, int arg1, int arg2, Bundle arg3) {
      // TODO Auto-generated method stub
    }
    //開始播放
    @Override
    public void onSpeakBegin() {
      // TODO Auto-generated method stub
    }
    //暫停播放
    @Override
    public void onSpeakPaused() {
      // TODO Auto-generated method stub
    }
    //播放進(jìn)度回調(diào)
    //percent為播放進(jìn)度0~100,beginPos為播放音頻在文本中開始位置,endPos表示播放音頻在文
    //本中結(jié)束位置.
    @Override
    public void onSpeakProgress(int arg0, int arg1, int arg2) {
      // TODO Auto-generated method stub
    }
    //恢復(fù)播放回調(diào)接口
    @Override
    public void onSpeakResumed() {
      // TODO Auto-generated method stub
    }
  }; 
if (isSpeaking == 0) {
        start();
        gif_no.setVisibility(View.INVISIBLE);
        gif.setVisibility(View.VISIBLE);
        isSpeaking = 1;
      } else if (isSpeaking == 1) {
        // 暫停播放
        mTts.pauseSpeaking();
        gif_no.setVisibility(View.VISIBLE);
        gif.setVisibility(View.INVISIBLE);
        isSpeaking = 2;
      } else if (isSpeaking == 2) {
        // 繼續(xù)播放
        //System.out.println("..........");
        mTts.resumeSpeaking();
        isSpeaking = 1;
        gif_no.setVisibility(View.INVISIBLE);
        gif.setVisibility(View.VISIBLE);
      } 
// 取消合成
    mTts.stopSpeaking();
    isSpeaking = 0; 

總結(jié), 開始初始化,start方法里面設(shè)置參數(shù),再根據(jù)需要調(diào)用停止和繼續(xù)方法,假如換了文本調(diào)用取消合成方法,重新start方法

以上內(nèi)容是小編給大家分享的使用科大訊飛語音SDK實(shí)現(xiàn)文字在線合成語音的全部敘述,希望大家喜歡。

相關(guān)文章

最新評(píng)論