proof1 发表于 2024-6-19 16:40

求助:DirectX9 C++ 播放音频



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格式。
页: [1]
查看完整版本: 求助:DirectX9 C++ 播放音频