织梦CMS - 轻松建站从此开始!

罗索

Win32环境PortAudio库编译简介:音频播放

jackyhwei 发布于 2010-11-25 09:24 点击:次 
PortAudio库简介:免费开源的跨平台音频播放库,支持Windows, Macintosh (8,9,X), Unix (OSS), SGI, and BeOS.等平台;PortAudio库完成从类似wav数据驱动声卡发音这个过程。
TAG:

/* Create By zyzx
 * Created 2008-7-19
 * Modified 2008-07-20
*/
        PortAudio库简介:免费开源的跨平台音频播放库,支持Windows, Macintosh (8,9,X), Unix (OSS), SGI, and BeOS.等平台;
        PortAudio库完成从类似wav数据驱动声卡发音这个过程。如果要播放mp3等其他格式还需要先用相应的格式解码库,解码后转换成PortAudio库提供的格式。

如下是在Win32 + VS 环境下编译

一、 准备
     1、PortAudio开源库
        官方主页:http://www.portaudio.com/下载源码包

     2、依赖ASIO库:用于异步处理
        网址:http://www.steinberg.net/en/home.html
        下载:http://www.steinberg.net/en/company/3rd_party_developer.html

     3、依赖DirectX库:用于驱动声卡
         微软主页

二、步骤
      1、将ASIO库 拷贝到 portaudio、src\hostapi\asio\目录下 文件夹改名为ASIOSDK。
      2、安装DirectX库。
      3、用VS8.0 打开portaudio\build\msvc\portaudio.sln
      4、可选:

      官方说明:http://www.portaudio.com/trac/wiki/TutorialDir/Compile/Windows(参照设置)
             http://www.portaudio.com/trac/wiki/TutorialDir/Compile/WindowsASIOMSVC(参照检查文件)

       注:

           Finally, open the "pa_win_hostapis.c" file. Add the following:

           #define PA_NO_WMME

           #define PA_NO_DS

几句话,郁闷了我半天,总是在后面测试时通不过,总得到后面错误的结果。在Win32环境中是需要WMME和DS的。这两个define语句是不能加的,小小的惩罚,看文章要认真点哦。

三、Win32下音频编程过程
   待续。。

四、测试
      打开Test/patest_saw.c添加到新的VS工程,编译运行。

某次运行的结果----纪念

如下图是错误的结果:原因是在"pa_win_hostapis.c"中加了#define PA_NO_WMME #define PA_NO_DS 

如下是正确的结果:(示例文件“patest_sine.c”,加了一小短代码)

终于听到了梦寐以求的“滴,滴,滴,滴。。。。”声音了。。。兴奋。。。

(zyzx)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201011/10526.html]
本文出处:博客园 作者:zyzx
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容