播放.wav文件

时间:2013-03-13 11:40:11

标签: c++ visual-studio-2010 wav

我正在使用visual studio 2010 express,我正在尝试编写一个简单的程序,该程序将重复一次wave文件5次(我正在运行windows xp sp3)。

据我所知:

#include "stdafx.h"
#include <windows.h>
#include <iostream>

using namespace std;   
int main ()
{
    int a = 5;
        while(a >= 1){
            cout << "It's a wav file";
            PlaySound(L"SomeAudioFile-01.wav", NULL, SND_FILENAME);
            --a;
        }
    return 0;
 }

问题是我在构建它时不断收到此错误消息:

1>------ Build started: Project: It's a F**king Country, Configuration: Release Win32 --    ----
1>  mycode.cpp
1>..\..\..\..\..\Shaul's documents\Visual Studio 2010\Projects\MyProject\Release\SomeAudioFile-01.wav : fatal error LNK1136: invalid or corrupt file
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

该文件非常精美,在视觉工作室之外无任何问题。

真的很感激帮助。

3 个答案:

答案 0 :(得分:4)

不是将WAV文件添加到项目文件中,而是将其添加到资源中,然后使用SND_RESOURCE而不是SND_FILENAME

答案 1 :(得分:2)

将声音文件包含为目标文件,因此编译器会尝试与之链接。但它是一个不可链接的二进制文件(这是错误信息所说的)。

不要在项目中包含声音文件,因此环境不会与之链接。

P.S。在将来,请不要在这样的公共网站上使用“坏”字。

答案 2 :(得分:0)

要消除链接器错误,您需要告诉IDE还要链接 winmm.lib 库,因此打开项目/属性/配置属性/链接器/输入< / em>并在附加依赖项字段中附加 winmm.lib

另外,请使用以下功能配置文件:

PlaySound(L“audio.wav”,NULL,SND_APPLICATION);