Вход на сайт
Воспоминание мультимедия 18.02.2025
9
Сегодня, 15:06
Всем привет! Хочу вспомнить про мультимедию. Будет от низкого уровня, до высокого уровня.
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
NEW Сегодня, 16:02
в ответ uscheswoi_82 Сегодня, 15:06
Будем сначало вспоминать на Си. на Embarcadero Dev-C++:
main.c:
#include <stdio.h> #include <windows.h> int main(int argc, char *argv[]) { /* Проигрывает аудиофайл с именем файла a_ja_pam_pam.wav синхронно, т.е. будет программа "висеть" пока не проиграет аудиофайл a_ja_pam_pam.wav */ sndPlaySound("a_ja_pam_pam.wav", SND_FILENAME | SND_SYNC); return 0; }
Но компилятор ошибку даст. Нужно добавить библиотеку libwinmm.a в проект, т.е. так: ../../Program Files (x86)/Embarcadero/Dev-Cpp/TDM-GCC-64/x86_64-w64-mingw32/lib/libwinmm.a
Теперь компилируем, и слышно как программа проигрывает аудиофайл a_ja_pam_pam.wav. После того как аудиофайл проиграет, наша программа завершается.
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
NEW Сегодня, 16:10
в ответ uscheswoi_82 Сегодня, 16:02
Если нужно чтобы проигралось ассинхронно, надо сделать вот так, вместо SND_SYNC заменим на SND_ASYNC:
main.c:
#include <stdio.h> #include <windows.h> int main(int argc, char *argv[]) { /* Проигрывает аудиофайл с именем файла a_ja_pam_pam.wav ассинхронно, т.е. будет программа "висеть" пока не проиграет аудиофайл a_ja_pam_pam.wav */ sndPlaySound("a_ja_pam_pam.wav", SND_FILENAME | SND_ASYNC); /* Специально нужна пауза, а то если выйдет из программы, звук перестанет проигрывать */ system("pause"); return 0; }
Теперь запустив, слышим как проигрывается аудиофайл a_ja_pam_pam.wav, если нажать любую клавишу, то программа выйдет, и звук перестанет проигрываться.
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение