vc中用WaveOut写音乐播放器

vc中用WaveOut写音乐播放器
要炒菜的话,就得先准备工具,如锅、铲子、炉灶等。对程序来说,就是各种函数的应用。WaveOut函数在windowsAPI中属于低阶接口,用来播放的话需要用到下面几个:

waveOutOpen – 打开波形输出设备

waveOutPrepareHeader – 准备播放缓冲区

waveOutUnprepareHeader – 取消播放缓冲区

waveOutWrite – 将数据写入波形输出设备

waveOutReset – 波形输出设备复位(清除正在播放的数据,停止播放)

waveOutPause – 波形输出设备暂停(暂停播放)

waveOutRestart – 波形输出设备恢复(继续播放)

waveOutClose – 关闭波形输出设备

播放时使用的顺序大致如下:

waveOutOpen 打开设备

waveOutPrepareHeader 准备缓冲区

waveOutWrite 写入波形设备

waveOutReset 波形设备复位

waveOutClose 关闭波形设备

至于暂停就更简单,播放时执行waveOutPause时暂停播放,再执行waveOutRestart时继续播放。

现在工具已经齐备了,下来就是准备材料了。对于这个播放器来说,最重要的材料是RIFF档案、WAVEFORMATEX和WAVEHDR这三个结构。下面就简单介绍一下这三个结构:

RIFF全称为资源互换文件格式ResourcesInterchange FileFormat),RIFF文件是windows环境下大部分多媒体文件遵循的一种文件结构,RIFF文件所包含的数据类型由该文件的扩展名来标识,能以RIFF文件存储的数据包括:音频视频交错格式数据(.AVI) 波形格式数据(.WAV) 位图格式数据(.RDI) MIDI格式数据(.RMI)调色板格式(.PAL)多媒体电影(.RMN)动画光标(.ANI)其它RIFF文件(.BND) 。具体格式如下:

WAV文件的基本格式

类型

内容

变量名

大小

取值

RIFF

文件标识符串

fileId

4B

“RIFF”

头后文件长度

fileLen

4B

非负整数(=文件长度-8)

数据类型标识符

波形文件标识符

waveId

4B

“WAVE”

格式块

块头

格式块标识符串

chkId

4B

“fmt ”

头后块长度

chkLen

4B

非负整数(= 1618)

块数据

格式标记

wFormatTag

2B

非负短整数(PCM=1)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值