同时播放两种声音的最简单方法(c++ winapi)
Posted
技术标签:
【中文标题】同时播放两种声音的最简单方法(c++ winapi)【英文标题】:the simplest way to play two sounds at the same time (c++ winapi) 【发布时间】:2013-02-02 23:54:45 【问题描述】:有人可以帮助我制作简单的 win32 gui 应用程序(我正在使用 code::blocks),我可以在其中同时播放两种声音。当消息循环收到 WM_CREATE 我想开始播放 music.wav 时,每次用户点击窗口(WM_LBUTTONDOWN)我想播放 click.wav(不中断 music.wav)。搜索了一下,发现可以用directsound(directx)来做,但是太复杂了,因为功能比较多。是否可以以更简单的方式来做到这一点(比如 playsound api 函数之类的东西 - 我知道它不能同时播放两个声音,但有什么类似的)。如果可能的话,我想从资源中播放波形文件。
提前谢谢你
【问题讨论】:
你需要一个支持混音的库。像 DirectSound。有很多,你需要去购物。 是的,我知道我需要directsound,但是有没有简单的方法可以使用它播放两个声音(我不需要任何效果等等)......我想播放声音来自资源 我找到了解决方案:libZPlay 对我的项目来说已经足够好了。它不能从资源中播放波形,所以我想知道是否有任何方法可以获取资源文件“路径”,或者将文件从资源复制到磁盘? 【参考方案1】:您可以使用 XAudio2,因为 DirectSound 已被弃用。
XAudio2 Introduction
阅读“入门”部分,有阅读和播放音频的示例代码。您只需要创建一个“母带”并添加一些声源即可。
【讨论】:
以上是关于同时播放两种声音的最简单方法(c++ winapi)的主要内容,如果未能解决你的问题,请参考以下文章