📄 playsound.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 + -