码迷,mamicode.com
首页 > 其他好文 > 详细

使用SndPlaySound从内存中播放WAV

时间:2015-11-26 22:59:47      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:

有些时候,我们写的程序需要播放音乐,一般大家会采用以下几种方式:1.把音乐文件放置在某个特定的目录,例如Sound,WAV,Music供程序读取播放;2.使用资源来存放音乐。有些人估计也是使用这个方法的,不过大部分人可能是先从资源里把音乐文件释放出来,然后再去读取播放。我今天要介绍的方式是直接把音乐文件载入内存,然后从内存中进行读取播放。好了给代码吧:
var
  hResInfo: THandle;
  PtrSound: Pointer;
begin
  hResInfo := FindResource(HInstance, ‘sound‘, ‘WAV‘);
  hRes := LoadResource(HInstance, hResInfo);
  if hRes > 32 then
  begin
    PtrSound := LockResource(hRes);
  end;
  SndPlaySound(PtrSound, Snd_Async or Snd_Memory);
end;
核心代码已经给出,前提是我们必须制作资源文件,首先,我们先建立一个扩展名为rc的文件
技术分享
其中sound为资源名称,WAV资源类型,Girl.wav为音乐文件。
然后我们将音乐文件与RC文件放置于同一个目录下,用brcc32进行编译,目录下会生成一个RES扩展名的文件,将该文件放到Delphi的项目文件夹下,在单元的implementation的{$R *.dfm}下加上{$R Girl.RES},最后编译即可。

http://www.lsworks.net/article/1.html

使用SndPlaySound从内存中播放WAV

标签:

原文地址:http://www.cnblogs.com/findumars/p/4998965.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!