首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XAudio2 create()失败

XAudio2 create()失败
EN

Stack Overflow用户
提问于 2014-01-10 10:48:21
回答 2查看 2.1K关注 0票数 0

当我尝试使用XAudio2时,它已经在XAudio2Create(...)函数。(初始化返回:if (FAILED(hr)) return false;我不知道为什么,谷歌只告诉我安装,我安装了,但没有改变...有什么想法吗?

这是来自MSDN的基本代码:

代码语言:javascript
复制
IXAudio2* pXAudio2 = NULL;

bool INITIALIZE()
{
    HRESULT hr = XAudio2Create(&pXAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR);
    if (FAILED(hr)) return false;
    .
    .
    .
}

我试过了,但这些错误代码似乎都不匹配:

代码语言:javascript
复制
HRESULT hr = XAudio2Create(&pXAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR);
std::cout << "hresult: " << hr << std::endl;
if (hr == XAUDIO2_E_DEVICE_INVALIDATED) std::cout << "XAUDIO2_E_DEVICE_INVALIDATED";
if (hr == XAUDIO2_E_INVALID_CALL) std::cout << "XAUDIO2_E_INVALID_CALL";
if (hr == XAUDIO2_E_XAPO_CREATION_FAILED) std::cout << "XAUDIO2_E_XAPO_CREATION_FAILED";
if (hr == XAUDIO2_E_XMA_DECODER_ERROR) std::cout << "XAUDIO2_E_XMA_DECODER_ERROR";
if (hr == S_OK) std::cout << "S_OK";

输出:

代码语言:javascript
复制
hresult: -2147221008
EN

回答 2

Stack Overflow用户

发布于 2014-01-10 10:49:06

别管谷歌了:使用the documentation

如果成功,

返回S_OK,否则返回错误代码。有关XAudio2特定错误代码的说明,请参阅XAudio2 Error Codes

只需检查错误代码即可找出问题所在。

票数 0
EN

Stack Overflow用户

发布于 2014-01-10 12:19:01

好的明白了..。在编写代码之前,我忘记了CoInitializeEx(NULL, COINIT_MULTITHREADED);。现在它返回S_OK

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21035347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档