alive forever
-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
XVII Lessons
Так вот Трекерная музыка она занимает очень мало места, в отличие от .mp3 или .wav.
Скачать такую музыку можно, например отсюда —
Скачать такую музыку можно, например отсюда —
Пожалуйста, авторизуйтесь для просмотра ссылки.
, или отсюда
Пожалуйста, авторизуйтесь для просмотра ссылки.
. Это отнюдь не единственные ресурсы, стоит только обратиться к гуглу.- Качаем файл по ссылке в конце темы и делаем следующее :
- Подключаем к проекту наши файлы из папки "minifmod"
Т.к. в проекте файлы в старом стиле “C”, то студия требует, чтобы были отключены Precompiled Header, для этого в свойствах проекта их отключаем (в Visual Studio -> свойства поекта -> C/C++ — Precompiled Headers — Not Using Precompiled Headers)
- Затем открываем Table extractor, меню File – Load и указываем наш файл *.xm. Настройки будут следующие:
После нажатия на кнопку Go!, в папке с файлом .xm, появится файл Result.txt. Переименуйте его в music.h и замените файл \loadmusic\music.h. В этом файле наш музыкальный трек, который мы будем воспроизводить
Самое главное – осталось только включить музыку и пусть играет)))
- Пример использования :
Код:
#include <iostream>
#include "loadmusic\loadmusic.h"
#include "lib\minifmod.h"
FMUSIC_MODULE *mod;
using namespace std;
int main()
{
cout <<"Нажмите 'p' чтобы музыка играла " << endl << " 's' чтобы остановить" << endl << "'e' для выхода из программы" << endl;
char i('p');
do
{
switch(i)
{
case 'p':
if (mod == NULL)
{
loadmusic(); // Вызов и подгатовка для прогона музыки
if(!FSOUND_Init(44100, 0)) //Инициализация музыки в память
return 1;
mod = FMUSIC_LoadSong(NULL, NULL); // handle = LoadSong()
FMUSIC_PlaySong(mod); // Играем музыку из памяти
}
break;
case 's':
if (mod != NULL)
{
FMUSIC_FreeSong(mod); // Освобождаем память
FSOUND_Close(); // Останавливаем проигрыш
mod=NULL; // Особождаем хендл
}
break;
}
cin >> i;
}
while(i != 'e');
if (mod != NULL)
{
FMUSIC_FreeSong(mod);
FSOUND_Close();
}
return 0;
}
Пожалуйста, авторизуйтесь для просмотра ссылки.