找回密码
 立即注册
搜索
查看: 785|回复: 0

[软件] 求助:DirectX9 C++ 播放音频

[复制链接]
     
发表于 2024-6-19 16:40 | 显示全部楼层 |阅读模式


DirectX9   C++  播放音频

网上的教程,很少,几乎找不到。以下是搜到的一个,编译还失败:

----------------------------------------------------------------------------------------------------------


#include <dsound.h>

// 初始化DirectSound
IDirectSound8* g_pDS;
HRESULT InitDirectSound(HWND hwnd) {
    HRESULT hr;
    if ((hr = DirectSoundCreate8(NULL, &g_pDS)) != DS_OK)
        return hr;

    if ((hr = g_pDS->SetCooperativeLevel(hwnd, DSSCL_NORMAL)) != DS_OK)
        return hr;

    return DS_OK;
}

// 加载音频文件并播放
IDirectSoundBuffer* g_pBuffer;
HRESULT PlayAudio(const char* szFileName) {
    HRESULT hr;
    if ((hr = g_pDS->CreateSoundBufferFromFile(szFileName, &g_pBuffer, NULL)) != DS_OK)
        return hr;

    if ((hr = g_pBuffer->Play(0, 0, 0)) != DS_OK)
        return hr;

    return DS_OK;
}

int main() {
    // 初始化DirectSound
    if (InitDirectSound(NULL) != DS_OK) {
        // 错误处理
    }

    // 播放音频文件
    if (PlayAudio("audio.wav") != DS_OK) {
        // 错误处理
    }

    // 等待音频播放结束
    Sleep(5000); // 假设音频播放时间不超过5秒

    // 释放资源
    if (g_pBuffer) g_pBuffer->Release();
    if (g_pDS) g_pDS->Release();

    return 0;
}


----------------------------------------------------------------------------------------------------------


DirectX9   C++  音频例程。
简单的。能播放一遍音频文件就行。支持wav 、mp3格式。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-26 22:49 , Processed in 0.045679 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表