C++编程:XAudio2_API应用示例

C++编程:XAudio2_API应用示例

ID:40714543

大小:40.83 KB

页数:11页

时间:2019-08-06

C++编程:XAudio2_API应用示例_第1页
C++编程:XAudio2_API应用示例_第2页
C++编程:XAudio2_API应用示例_第3页
C++编程:XAudio2_API应用示例_第4页
C++编程:XAudio2_API应用示例_第5页
资源描述:

《C++编程:XAudio2_API应用示例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++编程:XAudio2API应用示例作者:LuoJun声明:此文档未引用任何书籍期刊,无版权问题,可随意转载更新日期:2012/8/31XAudio2是一个跨平台的API,在Xbox360及Windows中得到支持。在Xbox360上,XAudio2作为一个静态库编译到游戏可执行文件中。在Windows上,XAudio2提供一个动态链接库(DLL)。以下例子只使用了其中的一部分功能,并不全面。详情请看微软技术页的XAudio2编程相关(英文)。使用XAudio2来播放未压缩的PCM音频数据的

2、过程并不复杂,主要有以下几个步骤:1.建立XAudio2引擎使用XAudio2Create函数,该函数的功能是创建一个XAudio2对象(IXAudio2接口)。原型:HRESULTXAudio2Create(IXAudio2**ppXAudio2,//这里返回XAudio2对象的指针UINT32Flags,//此处必须为0XAUDIO2_PROCESSORXAudio2Processor//指定所用CPU,默认:XAUDIO2_DEFAULT_PROCESSOR);示例:XAudio2Crea

3、te(&pXAudio2,0,XAUDIO2_DEFAULT_PROCESSOR);2.使用第1步建立的引擎建立MasteringVoice使用IXAudio2成员函数CreateMasteringVoice,该函数功能是创建并设置一个MasteringVoice原型:HRESULTCreateMasteringVoice(IXAudio2MasteringVoice**ppMasteringVoice,//这里返回MasteringVoice对象指针UINT32InputChannels=XA

4、UDIO2_DEFAULT_CHANNELS,//设置声道数,可选UINT32InputSampleRate=XAUDIO2_DEFAULT_SAMPLERATE,//设置采样率,可选UINT32Flags=0,//必须是0,可选LPCWSTRszDeviceId=NULL,//设备,可选,NULL代表全局默认输出设备constXAUDIO2_EFFECT_CHAIN*pEffectChain=NULL,//音效,可选AUDIO_STREAM_CATEGORYStreamCategory=Aud

5、ioCategory_GameEffects//流类型,可选);示例:pXAudio2->CreateMasteringVoice(&pMasterVoice);3.使用第一步建立的引擎建立SourceVoice(或SubmixVoice,以下按SourceVoice举例)使用IXAudio2成员函数CreateSourceVoice,该函数功能是创建并设置一个SourceVoice原型:HRESULTCreateSourceVoice(IXAudio2SourceVoice**ppSource

6、Voice,//这里返回IXAudio2SourceVoice对象指针constWAVEFORMATEX*pSourceFormat,//PCM音频格式(下面讲到)UINT32Flags=0,//SourceVoide工作方式,可选floatMaxFrequencyRatio=XAUDIO2_DEFAULT_FREQ_RATIO,//声调,可选,默认为1IXAudio2VoiceCallback*pCallback=NULL,//回调类指针,可选constXAUDIO2_VOICE_SENDS*

7、pSendList=NULL,//目标格式设置,可选constXAUDIO2_EFFECT_CHAIN*pEffectChain=NULL//音效设置,可选);示例:pXAudio2->CreateSourceVoice(&pSourceVoice,&format,0,XAUDIO2_DEFAULT_FREQ_RATIO,NULL,NULL,NULL);其中format这样设置:(位数为bits,声道数为channels,采样率为hz)WAVEFORMATEXformat;format.wFor

8、matTag=WAVE_FORMAT_PCM;//PCM格式format.wBitsPerSample=bits;//位数format.nChannels=channels;//声道数format.nSamplesPerSec=hz;//采样率format.nBlockAlign=bits*channels/8;//数据块调整format.nAvgBytesPerSec=format.nBlockAlign*hz;//平均传输速率format.cbSize=0;//附加信息1.呈交音频数据使用I

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。