如何在 C++ Visual Studio 中添加声音
Posted
技术标签:
【中文标题】如何在 C++ Visual Studio 中添加声音【英文标题】:How to add sound in c++ visual studio 【发布时间】:2015-06-15 18:04:03 【问题描述】:实际上我正在开发一个闹钟,我想在闹钟响起时播放声音(mp3 或 ogg 或 wav 文件从我的计算机。
class alarmclock //Alarm Clock Declaration
protected:
int hour, min, sec, A_hour, A_min, A_sec, msec;
public:
char c, a;
void time(int ah, int am, int as)
SYSTEMTIME time;
GetLocalTime(&time); //Getting Time from Local Machine
if (ah >= 0 && ah <= 23 && am >= 0 && am <= 60 && as >= 0 && as <= 60)
hour = time.wHour;
min = time.wMinute;
sec = time.wSecond;
A_hour = ah;
A_min = am;
A_sec = as;
system("cls"); //Clear Screen
for (int i = sec; sec <= 60; i++)
Sleep(1000); //Delay of 1 Sec
system("cls");
logo();
gotoxy(45,13);
cout << "=> Alarm Time: " << A_hour << ":" << A_min << ":" << A_sec<<endl;
gotoxy(45,14);
cout << "=> Current Time: " << hour << ":" << min << ":" << sec;
sec++;
if (sec == 60)
min++;
if (min == 60)
min = 0;
hour++;
sec = 0;
if (hour == 24)
hour = 0;
if (A_hour == hour&&A_min == min&&A_sec == sec)
cout << "\nAlarm!";
printf("\a"); //with this code it only beeps once but i want to play sound file for specific time
break;
if (_kbhit())
c = _getch();
cout << endl << endl;
if (c == 'e')
break;
else
cout << "Not Possible" << endl;
;
我想在闹钟响起时播放特定文件一段时间,就是这样。我将如何做到这一点,是否有任何 lib/头文件或内置函数可以做到这一点,或者我必须自己开发它?
【问题讨论】:
Sleep(1000) 会漂移。查看SetWaitableTimer 和WaitForSingleObject 【参考方案1】:最简单的方法是使用PlaySound
函数(确保您与winmm.lib
链接)。
【讨论】:
如何链接 winmm.lib【参考方案2】:以下示例播放声音文件: PlaySound(TEXT("recycle.wav"), NULL, SND_FILENAME);
【讨论】:
我已经添加了但是你想告诉我如何连接winmm.lib #pragma comment(lib, "winmm.lib")以上是关于如何在 C++ Visual Studio 中添加声音的主要内容,如果未能解决你的问题,请参考以下文章
在 C++ 中添加多行注释时如何在 Visual Studio 2010 中启用自动星号?
visual studio 2008 c++ 中怎样添加动态链接库?
如何防止 Visual Studio 2010 在 C++ 中向我的项目添加大型 SQL 文件?