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

📄 ms01.h

📁 SACM_D10 for SPCE061A.rar,凌阳单片机SPCE061A的语音编码资料
💻 H
字号:
//========================================================
//	文件名称:	MS01.h
//	功能描述:	MS01的库函数声明(C语言)
//	维护记录:	2006-10-16	v1.0, by Qwerty
//========================================================
#ifndef	__MS01_h__
#define	__MS01_h__

//========================================================================
//	语法格式:	void SACM_MS01_Initial(void);
//	实现功能:	MS01初始化
//	参数:		无
//	返回值:	无
//========================================================================
extern void SACM_MS01_Initial(void);

//========================================================================
//	语法格式:	void SACM_MS01_Play(unsigned int SoundIndex, unsigned int DAC_Channel, unsigned int RampUpDn);
//	实现功能:	开始MS01语音播放
//	参数:		SoundIndex:		待播放的语音资源序号
//				DAC_Channel:	语音输出的DAC通道。
//								1 - DAC1
//								2 - DAC2
//								3 - DAC1+DAC2
//				RampUpDn:		是否在播放起始和结束时采取渐入渐出方式
//								0 - 不采取渐入渐出方式
//								1 - 播放起始时采取渐入方式
//								2 - 播放结束时采取渐出方式
//								3 - 播放起始时采取渐入方式,播放结束时采取渐出方式
//	返回值:	无
//========================================================================
extern void SACM_MS01_Play(unsigned int SoundIndex, unsigned int DAC_Channel, unsigned int RampUpDn);

//========================================================================
//	语法格式:	void SACM_MS01_Stop(void);
//	实现功能:	停止MS01放音
//	参数:		无
//	返回值:	无
//========================================================================
extern void SACM_MS01_Stop(void);

//========================================================================
//	语法格式:	void SACM_MS01_Pause(void);
//	实现功能:	暂停播放,可以通过SACM_MS01_Resume()函数恢复
//	参数:		无
//	返回值:	无
//========================================================================
extern void SACM_MS01_Pause(void);

//========================================================================
//	语法格式:	void SACM_MS01_Resume(void);
//	实现功能:	恢复被暂停的播放操作
//	参数:		无
//	返回值:	无
//========================================================================
extern void SACM_MS01_Resume(void);

//========================================================================
//	语法格式:	void SACM_MS01_Volume(unsigned int Volume);
//	实现功能:	设定MS01的播放音量
//	参数:		Volume:			音量等级,范围0~15,默认为8。
//								该参数为0则无声音输出,为15则以最大音量输出
//	返回值:	无
//========================================================================
extern void SACM_MS01_Volume(unsigned int Volume);

//========================================================================
//	语法格式:	void SACM_MS01_DAC_FIRType(unsigned int FIRType);
//	实现功能:	设定DAC输出的滤波方式
//	参数:		FIRType:		输出滤波方式代码,范围0~3。
//								0 - 不进行滤波,解码后以16KHz采样率直接输出
//								1 - 不进行滤波,以二倍采样率(32KHz)插值输出
//								2 - 以二倍采样率(32KHz)进行简易滤波输出
//								3 - 以二倍采样率(32KHz)进行复杂滤波输出
//	返回值:	无
//========================================================================
extern void SACM_MS01_DAC_FIRType(unsigned int FIRType);

//========================================================================
//	语法格式:	void SACM_MS01_ServiceLoop(void);
//	实现功能:	执行MS01解码操作
//	参数:		无
//	返回值:	无
//========================================================================
extern void SACM_MS01_ServiceLoop(void);

//========================================================================
//	语法格式:	void SACM_MS01_ISR(void);
//	实现功能:	MS01中断服务,应在Timer中断服务程序中执行该函数
//	参数:		无
//	返回值:	无
//========================================================================
extern void SACM_MS01_ISR(void);

//========================================================================
//	语法格式:	unsigned int SACM_MS01_Status(void);
//	实现功能:	获取当前MS01的播放状态
//	参数:		无
//	返回值:	MS01播放状态编码
//				bit0 - 1:当前处于放音状态;0:当前不处于放音状态
//				bit1 - 保留
//				bit2 - 1:暂停状态;0:正常状态
//				bit3 - 1:播放时可通过DAC1输出;0:播放时不通过DAC1输出
//				bit4 - 1:播放时可通过DAC2输出;0:播放时不通过DAC2输出
//				bit5 - 1:播放起始时采取渐入方式;0:播放起始时不采取渐入方式
//				bit6 - 1:播放结束时采取渐出方式;0:播放结束时不采取渐出方式
//				bit7~bit14 - 保留
//				bit15 - 放音时,如果当前处于输出缓冲区欠载状态(不能及时进行解码)则该位为1
//========================================================================
extern unsigned int SACM_MS01_Status(void);


//=========================================================================
//	助记符定义
//=========================================================================
#ifndef _SACM_API_CONSTANTS_
#define _SACM_API_CONSTANTS_

#define DAC_1			1
#define DAC_2			2

#define RAMP_NONE		0
#define RAMP_UP			1
#define RAMP_DN			2
#define RAMP_UP_DN		3

#define BITRATE_10K		0				// DVR1600 Only
#define BITRATE_12K		1				// DVR1600 Only
#define BITRATE_14K		2				// DVR1600 Only
#define BITRATE_16K		3				// DVR1600 Only
#define BITRATE_20K		4				// DVR1600 Only
#define BITRATE_24K		5				// DVR1600 Only

#define DAC_FIRTYPE_0	0
#define DAC_FIRTYPE_1	1
#define DAC_FIRTYPE_2	2
#define DAC_FIRTYPE_3	3

#define ADC_FIRTYPE_0	0				// DVR1600 Only
#define ADC_FIRTYPE_1	1				// DVR1600 Only
#define ADC_FIRTYPE_2	2				// DVR1600 Only

#define STATUS_PLAY		0x0001
#define STATUS_RECORD	0x0002			// DVR1600 Only
#define STATUS_PAUSE	0x0004
#define STATUS_DAC1		0x0008
#define STATUS_DAC2		0x0010
#define STATUS_RAMPUP	0x0020
#define STATUS_RAMPDN	0x0040
#define STATUS_OVERFLOW	0x8000

#endif
#endif

⌨️ 快捷键说明

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