⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 playsound.h

📁 通过车载终端采集GPS数据
💻 H
字号:
#ifndef PLAY_SOUND
#define PLAY_SOUND
typedef enum _play_type
{
    NO_PLAYSOUND = 0,//没有播放任何类型的声音
    STATION_PLAY,//正在报站
    NOTION_PLAY//正在播放服务用语
}PLAY_TYPE;

/****************定义小喇叭的状态*****/
#define SPEAKER_IDLE 0//无提示语音播放任务
#define SPEAKER_BUSY 1//还有需要的语音要读
#define SPEAKER_NOMOREDATA 2//已经没有数据需要读,但是当前MSM还在播放语音
typedef struct _littlespeaker_pointer
{
    Byte status;//当前状态 
    Uint16 pointVal;//由于不涉及到子串,因此只需要这一个变量  
    Uint32 nPosition; //当前位置
}LITTLESPEAKER_POINTER;

//需要考虑到串中带有串的问题,如当前站、终点站
typedef struct _play_buffer
{
    PLAY_TYPE type;
	Byte readFlag;//读取文件的指示器,如果值为SOUND_OFF表示全部读完,否则表示还有数据没有读完
    Uint8 setAddr;//第几串(值从1开始)
    Uint8 valid;//1表示当前读pointVal
    Uint8 stationVal;//第几个站,//播放文明用语时,这个值无效
    Uint16 pointVal;//在toneArrayPointer中的存放位置 
    Uint16 pointVal2;
    Uint32 nPosition;//当前读取到语音段中的位置
}PLAY_BUFFER;//播放语音的缓存

#define PLAY_TIMEOUT 2
/***************报站缓冲队列****************************/
typedef struct _play_queue
{
    Byte valid;//队列中是否有元素
    Byte timeout;//超时计数器
    Byte nValue; //要播放的固定短语
}PLAY_QUEUE;
void del_play_queue();
void add_play_queue(Byte value);
void playqueue_timeout();
void check_playqueue();
void play_init(void);
void play_stationsound(Uint8 curStation/*站点序号*/, Byte attrStation/*到站/出站/首站*/);

/**********播放语音串***************/
/*nValue:值从1开始
/***********************************/
void play_toneArray(Uint8 nValue, PLAY_TYPE type);

/************************************
*停止报站
**************************************/
void stop_board();


/*****************************************
*是否可以播放拐弯
*返回值:OK表示允许拐弯,KO表示不允许拐弯
*****************************************/
Byte is_playconner();

/************************************
*当前是否语音播放模块是否还需要读flash
*返回值:OK表示不需要读;KO表示还需要读flash
************************************/
Byte is_playReadFlash();

/************播放文明用语************/
/*nNum:值从1开始,值为0xff表示按下取消键,
/*				停止播放所有语音
/*nNum:值为9表示播放拐弯
/*nNum:值为10表示要播放下坡
/********************************/
void play_notitionsound(Uint8 nNum/*播放第几个文明用语*/);

/****播放小喇叭提示音****/
void play_littlespeaker(Byte type);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -