[原创]Space C 1.1.0.0 发布 -- 震撼音频模块
嘿嘿,正式加入音频播放模块。可播放8位任意长的WAV音频文件。--------升级 Space C V1.1.0.0
2008.3.27
*在Space.c和Space.h中扩充WAV音频模块。支持8位音频文件播放,支持暂停,继续,控制播放进度等功能。
*在MainBack中加入属性Keyboard,以便开启或关闭键盘操作。注意,在加载音频控件时,关闭键盘操作。
*以音频模块为基础,发布SPWAV音频控件。
网友 -- 曾庆伟:
Space C 1.1.0.0 中的音频播放功能核心代码的作者。牛哥哥哦!
--2008.3.27
www. (0101部落)
Space C 1.1.0.0安装包:
部分1:
SpaceC.part01.rar
(1 MB)
部分2:
SpaceC.part02.rar
(1 MB)
部分3:
SpaceC.part03.rar
(1 MB)
部分4:
SpaceC.part04.rar
(1 MB)
部分5:
SpaceC.part05.rar
(1 MB)
部分6:
SpaceC.part06.rar
(379.25 KB)
5M多,只能分开上传。(不知道的朋友,一定要将6个部分全下载下来,放在同一目录才能解压)
安装包效果图:
*******************************************************************************
SPWAV 1.0 音频控件:
WAV8位音频播放控件 作者:孙靖 版本号:V1.0
声名:此模块核心代码由网友 -- 曾庆伟 提供。原版有后台支持模式,很好,很强大。
而当前版本是经过本人精简后与Space C架构相融合在一起。
本是想做成控件提供,无奈架构需要,牵涉到DOS下的多个中断控制,这样
才致使本Space C 1.1.0.0的发布。目前音频核心功能由本系统提供,以下控件
为本系统功能的外在接口。这意味着此SPWAV控件与普通控制有差别。
说明:使用音频时,一定将MainBack中的Keyboard属性置为0。音频模块和
键盘模块冲突,当前请先这样做。
事件方式:函数指针
相关函数:
void SP_QuitSound(); /* 声音的退出函数 */
int SP_LoadWav(char *file_name, SPWAV *dest); /* 装入指定的WAV文件,返回WAV结构随时供系统播放 */
void SP_PlayWav(SPWAV *dest, UINT8 mode); /* 播放声音的主程序 */
void SP_MoveWav(SPWAV *dest, INT32 Index); /* 调节播放进度 */
void SP_StopWav(SPWAV *dest); /* 暂停音乐播放 */
数据结构如下:
typedef void (*SPWAV_Change)(void *, UINT32);
typedef struct
{
FILE *file_pointer; /* 文件指针 */
INT32 begin_pos; /* 数据区的启始位置 */
INT32 data_count; /* 数据区块数量 */
INT32 data_index; /* 当前播放到的位置 */
INT32 data_left; /* 当前数据区剩余字节数,用于断点续播 */
UINT32 time_constant; /* 时间片大小 */
UINT8 sound_stop; /* 标记暂停播放 */
SPWAV_Change Change; /* 标记事件 */
} SPWAV;
特别注意:结构中的 Change 事件,将是在一个中断中被调用,因此此事件内容不能过
长,并注意在此事件中避免使用其他中断。和画图操作,以免出现画屏等由中断重入造
成的问题。
控件下载:
SPWAV 1.0.rar
(2.83 KB)
效果图:
可以拖动哦,真可以在DOS下做自己的音频播放器啦。加上歌词显示,那个爽啊。
实例代码下载(Space工程):
部分1:
try3.part01.rar
(1 MB)
部分2:
try3.part02.rar
(1 MB)
部分3:
try3.part03.rar
(1 MB)
部分4:
try3.part04.rar
(1 MB)
部分5:
try3.part05.rar
(1 MB)
部分6:
try3.part06.rar
(62.02 KB)