zoukankan      html  css  js  c++  java
  • 使用SndPlaySound从内存中播放WAV

    有些时候,我们写的程序需要播放音乐,一般大家会采用以下几种方式: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

  • 相关阅读:
    linux运用日志
    ubuntu 8.04冒险记
    Linux破绽要挟网银静谧 SSL证书遽需互换
    红帽胡柏林:中国IT人才考试落伍于印度
    Arch Linux哲学
    slackware 12.0汉化备忘
    Xubuntu菜单删改条记
    UNIX同linux完成nfs共享衔接体例
    成为顶级微软迷
    [恢]hdu 2030
  • 原文地址:https://www.cnblogs.com/findumars/p/4998965.html
Copyright © 2011-2022 走看看