- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
#include <windows.h>
#include <iostream>
int main ()
{
HINSTANCE result;
result=ShellExecute(NULL,NULL,L"E:\\.mp3",NULL,NULL,SW_SHOWDEFAULT);
if ((int)result<=32)
std::cout << "Error!\nReturn value: " << (int)result << "\n";
return 0;
}
P.S. Мне кажется, или у .mp3 звездочка отклеилась?
Сейчас затестил - mp3 отлично играет в изкоробочной XP :) Правда на id3v2 тегах с обложками загибается, пришлось их отрезать.
А вот playSound, емнип, только wav.
P.S. Поставил klite кодеки - заработало и с id3v2.
Это потому что встроенные в винды кодеки, безо всяких преувеличений, - тупое гавно.
Там особый синтаксис. Она даже сидюки умела открывать/закрывать, чем я и пользовался гы-гы.
"set cd door closed wait" вроде так
>PlaySound
Вот не помню, но какая-то из них, а мож и обе вешали поток до окончания звука.
Но всё-равно стороняя ж библиотека (winmm.dll), я потом освоил другую quartz.dll - она через DirectShow показывала.
Ну mciSendString вешает если передать "wait", что, в принципе, логично и очевидно.
До кучи пруф с мсдн: SND_ASYNC The sound is played asynchronously and PlaySound returns immediately after beginning the sound.
Если библиотека стоит в системе изкоробки - какая ж она сторонняя? Эдак и кернел32 сторонней обзовешь...
Другое дело, что без сторонних кодеков оно не особо пашет.
О, как близко и знакомо!
https://govnokod.xyz/_26604/#comment-527493
Не знал.
Полезная фича.