playing a .wav file

15,021

Solution 1

Instead of adding the WAV file to the project files, add it to the resources and use SND_RESOURCE instead of SND_FILENAME.

Solution 2

You include the sound file as a object file, so the compiler tries to link with it. But it's a binary file that's not linkable (which is what the error message says).

Don't include the sound file in the project, so the environment won't link with it.

P.S. In the future, please refrain from using "bad" words on a public site like this.

Share:
15,021

Related videos on Youtube

Saal Hardali
Author by

Saal Hardali

Updated on September 18, 2022

Comments

  • Saal Hardali
    Saal Hardali over 1 year

    I'm using visual studio 2010 express and I'm trying to write a simple program that will repeat a wave file 5 times(I'm running a windows xp sp3).

    This is as far as I got:

    #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;
     }
    

    The problem is I keep getting this error message when I'm building it:

    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 ==========
    

    The file is perfectly fine and plays with no problems whatsoever outside visual studio.

    Help would be truly appreciated.

    • guanabara
      guanabara about 11 years
      According to MSDN, you should be using PlaySound(TEXT("filePath.wav"), NULL, SND_FILENAME);. You can read more in here.
    • tenfour
      tenfour about 9 years
      I'm surprised It's a F**king Country is a valid filename on Windows.