有没有办法在没有附加wave文件的情况下将音乐添加到exe(c ++)文件?
例如,如果我使用" PlaySound"要播放wav文件,wave文件应位于exe文件所在的同一文件夹下。但我想在没有wav文件的情况下运行它,以便当有人收到exe文件时,他们可以在不接收wav文件的情况下收听音乐。
我希望它作为代码...
这是我目前的代码。
#include <iostream>
#include <stdio.h>
#include <windows.h>
using namespace std;
/* ========================================================================== */
enum {
BLACK,
DARK_BLUE,
DARK_GREEN,
DARK_SKY_BLUE,
DARK_RED,
DARK_VOILET,
DARK_YELLOW,
GRAY,
DARK_GRAY,
BLUE,
GREEN,
SKY_BLUE,
RED,
VIOLET,
YELLOW,
WHITE,
};
enum { HIDDEN, SHOW };
void CursorView(char show)
{
HANDLE hConsole;
CONSOLE_CURSOR_INFO ConsoleCursor;
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
ConsoleCursor.bVisible = show;
ConsoleCursor.dwSize = 1;
SetConsoleCursorInfo(hConsole, &ConsoleCursor);
}
void gotoxy(int x, int y)
{
COORD XY = { x, y };
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), XY);
}
void SetColor(int color)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);
}
void gamedraw(void)
{
PlaySound(TEXT("10.wav"), NULL, SND_FILENAME | SND_LOOP | SND_ASYNC);
printf("You are listening to my song.");
getchar();
}
void MainInit(void)
{
system("mode con: cols=100 lines=45");
system("cls");
}
/* ========================================================================== */
int main(void)
{
CursorView(HIDDEN);
MainInit();
gamedraw();
for (;;) {
if (GetAsyncKeyState(VK_ESCAPE) < 0) break;
}
CursorView(SHOW);
return 0;
}
答案 0 :(得分:-2)
您可以将.wav添加为资源,但随后播放它会变得非常困难(要么您必须将资源提取到磁盘上的某个路径,要么使用其中一个音频API来提交wav数据)