【发布时间】:2020-07-20 22:31:27
【问题描述】:
我设法安装了 SDL 并将其集成到我的 Visual Studio 2017 项目中,适用于 Windows 10。
我的主要问题是音频文件的播放。 确实,当我输入音频文件的绝对路径时,一切正常。
#include "framework.h"
#include "Pokemon.h"
#include <iostream>
#include <SDL.h>
#include <SDL_mixer.h>
#define WAV_PATH "C:\\Users\\quent\\Documents\\Polytech\\Annee3\\projetPerso\\Sons\\musique.mp3" //WORK TOTALY FINE
#define WAV2_PATH ".\\Resource Files\\musique.mp3" //Mix_LoadMUS(WAV2_PATH) return NULL, so the file is not played
const int WIDTH = 800, HEIGHT = 600;
int main(int argc, char *argv[])
{
Mix_Music *wave = NULL;
Mix_Music *wave2 = NULL;
if (Mix_OpenAudio(22050, MIX_DEFAULT_FORMAT, 2, 4096) != 0) {
std::cout << "Impossible d'ouvrir mixer " << SDL_GetError() << std::endl;
return 1;
}
wave = Mix_LoadMUS(WAV2_PATH);
wave2 = Mix_LoadMUS(WAV2_PATH);
if (wave == NULL || wave2 == NULL) {
std::cout << "Impossible de chargé un fichier .ogg " << SDL_GetError() << std::endl;
return 2;
}
if (Mix_PlayMusic(wave, 1) != 0) {
std::cout << "Impossible de jouer le fichier " << SDL_GetError() << std::endl;
return 1;
}
SDL_Delay(5000);
if (Mix_PlayMusic(wave2, 1) != 0) {
std::cout << "Impossible de jouer le fichier " << SDL_GetError() << std::endl;
return 1;
}
while (Mix_PlayingMusic());
Mix_FreeMusic(wave);
Mix_FreeMusic(wave2);
SDL_DestroyWindow(window);
SDL_Quit();
return EXIT_SUCCESS;
}
当我将文件导入到我的项目中时,它会变得复杂,在 "Resource Files" 文件夹中。不知道 Visual Studio,我想这是用于您想使用的外部资源的文件夹(如果我错了,请见谅)。
一旦我的文件被导入,我不知道如何恢复它们的路径以将其提供给将访问要播放的音频文件。
所以我想知道如何在 Visual Studio 项目中管理资源。
【问题讨论】:
标签: c++ visual-studio visual-c++ sdl sdl-mixer