JZ_speaker.c 3.0 KB
/* Includes ------------------------------------------------------------------*/
#include "JZ_speaker.h"
#include "music.h"
#include "JZ_TempControl.h"
#include <unistd.h>
/* Private constants ---------------------------------------------------------*/

/* Private types -------------------------------------------------------------*/

/* Private values -------------------------------------------------------------*/
extern int tts_add;
extern int tts_tone;
extern int tts_speed;
extern int readyflag;//喊话器准备就绪标志
/* Private functions declaration ---------------------------------------------*/

/* Exported functions definition ---------------------------------------------*/
/************************************
*文本喊话语速控制功能
*函数名:JZ_SpeechSpeedControlFeature
*函数参数:
         @speed :  喊话速度  0-3
*返回值:
*函数作者:wzy
*************************************/
void JZ_SpeechSpeedControlFeature(uint8_t speed)
{
    switch(speed){
        case 0:
        tts_speed=25;
        break;
        case 1:
        tts_speed=50;
        break;
        case 2:
        tts_speed=75;
        break;
        case 3:
        tts_speed=100;
        break;
        default:
        tts_speed=50;
        break;
    }
}

/************************************
*文本喊话音色控制功能
*函数名:JZ_TtsToneColorFeature
*函数参数:
         @tone:  音色选择列表
              0---中文女生---1
              1---中文男生---2
              2---英文女生---11
              3---英文男生---12
              4---东北话-----31
              5---四川话-----32
              6---河南话-----33
              7---湖南话-----34
              8---陕西话-----35
              9---广东话-----36		
*返回值:
*函数作者:wzy
*************************************/
void JZ_TtsToneColorFeature(uint8_t tone)
{     
    switch(tone){      
    case 0:
        tts_tone=1; 
        break;
    case 1:
        tts_tone=2;
        break;
    case 2:
        tts_tone=11;
        break;
    case 3:
        tts_tone=12;
        break;
    case 4:
        tts_tone=31;
        break;
    case 5:
        tts_tone=32;
        break;
    case 6:
        tts_tone=33;
        break;
    case 7:
        tts_tone=34;
        break;
    case 8:
        tts_tone=35;
        break;
    case 9:
        tts_tone=36;
        break;				
    default:
        tts_tone=1;
        break;
    }
}

/************************************
*文本播放功能
*函数名:JZ_TtsPlayFeature
*函数参数:
          @len:文本长度
          @data:文本数据
*返回值:
*函数作者:wzy
*************************************/
int JZ_TtsPlayFeature(int len,char* data)
{   
    if(readyflag == 0)
    {
        return -1;
    }
    while (GetRecordStatus() == 1 || GetTtsStatus() == 1)
    {   
        usleep(100*1000);
    }
    usleep(600*1000);
    if(GetSpeakerMode() == 2)
    {
        TTS(tts_tone,100,tts_speed,len,data);
    }       
   	
}