Bonjour,
Je débute avec SFML, mais j'ai un pépin avec le tutorial Audio de ce site.
Voici mon code.
#include <Windows.h>
#include <SFML\Graphics.hpp>
#include <SFML\Audio.hpp>
#include <iostream>
using namespace std;
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow) {
sf::RenderWindow window(sf::VideoMode(400, 200), "SFML works!");
sf::VertexArray triangle(sf::Triangles, 3);
triangle[0].position = sf::Vector2f(10,10);
triangle[1].position = sf::Vector2f(100,10);
triangle[2].position = sf::Vector2f(100,100);
triangle[0].color = sf::Color::Red;
triangle[1].color = sf::Color::Blue;
triangle[2].color = sf::Color::Green;
sf::SoundBuffer buffer;
if(!buffer.loadFromFile("./a-team_intro.wav")) {
cout << "Impossible de lire le fichier";
return -1;
}
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(triangle);
window.display();
}
return 0;
}
le problème, c'est qu'il embarque dans la condition du if(!buffer.loadfromfile)
J'ai copié le fichier .wav partout dans le projet, dans le répertoire de travail, dans les répertoires de débug et release, j'ai copié le fichier partout quoi.
J'aimerais savoir si avec Visual Studio 2012 c'est différent?
Merci de votre aide.
Bonjour Laurent,
Désolé pour le délais de réponse voici le message d'erreur que j'obtiens, il à fallu que je convertisse mon application en DOS pour pouvoir aller chercher le message d'erreur.
BonjourFailed to open sound file "Ring06.wav" (Error in WAV/W64/RF64 file. Malfo
rmed 'fmt ' chunk.)
Impossible de charger le fichier..
J'avais le même message d'erreur avec mon ancien fichier WAV.
voici le nouveau code en console.
#include <SFML/Graphics.hpp>
#include <iostream>
#include <SFML/Audio.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
sf::CircleShape shape(100.f);
shape.setFillColor(sf::Color::Green);
std::cout << "Bonjour";
sf::SoundBuffer buffer;
if(!buffer.loadFromFile("Ring06.wav")) {
std::cout << "Impossible de charger le fichier..";
}
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear();
window.draw(shape);
window.display();
}
return 0;
}
Pourtant Ring06.wav est un fichier wav windows qui fonction très bien.