2013-03-13 1 views
2

Я использую visual studio 2010 express, и я пытаюсь написать простую программу, которая будет повторять волновой файл 5 раз (я запускаю windows xp sp3).играет .wav-файл

Это, насколько я получил:

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

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

Проблема я получаю сообщение об ошибке, когда я это здание:

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

Файл прекрасно подходит и играет с никаких проблем вне визуальной студии.

Справка была бы оценена по достоинству.

+2

Согласно MSDN, вы должны использовать 'PlaySound (TEXT (« filePath.wav »), NULL, SND_FILENAME);'. Вы можете узнать больше в [здесь] (http://msdn.microsoft.com/en-us/library/windows/desktop/dd743680 (v = vs.85) .aspx). – guanabara

+0

Попробуйте очистить решение и перестроить его. – user1929959

+1

Я удивлен, что это «F ** King Country» является допустимым именем файла в Windows. – tenfour

ответ

4

Вместо добавления WAV файла к файлам проект, добавить его к ресурсам и использовать SND_RESOURCE вместо SND_FILENAME.

2

Вы включаете звуковой файл в виде объектного файла, поэтому компилятор пытается связать его. Но это двоичный файл, который не связан (что говорит сообщение об ошибке).

Не включайте звуковой файл в проект, чтобы среда не связывалась с ним.

P.S. В будущем, пожалуйста, воздержитесь от использования «плохих» слов на публичном сайте.

0

Чтобы избавиться от ошибки компоновщика, вы должны указать IDE для связи с winmm.lib библиотека также, таким открытым Проект/Свойства/Конфигурация Свойства/Linker/Input и добавить winmm.lib in Дальнейшие Зависимости Поле.

Кроме того, с помощью следующей функции: профиль

PlaySound (L "audio.wav", NULL, SND_APPLICATION);