Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.144.172.115] |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Люди как воспроизвести миди файл из ресурса програмы ?
Знаю как воспроизводить из файла : // 1. MCIHwnd = MCIWndCreate(Application->Handle, HInstance, NULL, "test.mid"); MCIWndPlay(MCIHwnd); // 2. mciSendString("open ding.mid .... ",NULL, 0, NULL); //точно не помню mciSendString("play snd repeat",NULL, 0, NULL); А как это сделать из ресурса програмы ??? |
Сообщ.
#2
,
|
|
|
Хм, вот тут работу с ресурсами обсуждали - Вставка битмапов из ресурса
Добавлено Правда вот запустить midi придётся далеко не с помощью mciSendString Так, а зачем вообще в ресурсы midi загоняешь ? |
Сообщ.
#3
,
|
|
|
Для того чтоб прога была махонькой и компактной, а не з кучей файлов ! Ээ, некоторые люди умеют это делать ...
|
Сообщ.
#4
,
|
|
|
Цитата Dr. Ace @ Для того чтоб прога была махонькой и компактной, а не з кучей файлов ! Хм, ну тогда сам exe будет большой |
Сообщ.
#5
,
|
|
|
Не очень. Где-то 300К(WinApi) или 800К (С++Builder)
|
Сообщ.
#6
,
|
|
|
Мне такое один умный человек посоветовал...
Цитата со временем ты поймешь, что чем больше разных модулей в программе(а не все в одной куче), тем лучше, из-за того, что приложение при загрузке будет меньше весить, будет легче сопровождаться, развертываться и обновляться. |
Сообщ.
#7
,
|
|
|
Может вы и правы. Но вопрос не о том, сколько оно будет весить , а том как это заделать ...
|
Сообщ.
#8
,
|
|
|
Вроде как именно midi файл не получится.
|
Сообщ.
#9
,
|
|
|
Цитата P.O.D @ Вроде как именно midi файл не получится. Ну не знаю ... По теории не знаю, а вот файлик который доказывает обратное (голая практика) накину Факты вещь упрямая ! Прикреплённый файлArt.rar (79.31 Кбайт, скачиваний: 293) |
Сообщ.
#10
,
|
|
|
Dr.Ace, да. Я совсем забыл про кряки Там кстати xm файл, но все равно интересно. Сейчас посмотрим...
Добавлено 1. http://www.delphifr.com/codes/JOUER_XM_EN_PEU_DE_CODE_-NO_DLL-/23849.aspx 2. http://www.wasm.ru/src/4/ufmod.zip |
Сообщ.
#11
,
|
|
|
Не, господа, вы не правы!
Когда один экзешник и его размер меньше 2-3 мб, то это рулит! Зачем на маленький проект юзать кучу фигни? И еще, ексли используется файл ресурсов, то те ресурсы, которые не юзаются, не подгружаются в оперативу, а учитывая небольшой размер проги, то все ок ps: asm forever! |
Сообщ.
#12
,
|
|
|
#define WIN32_LEAN_AND_MEAN #include <dmusici.h> #define IDR_RCDATA_MID 12345 #pragma comment(lib, "dxguid") #pragma comment(lib, "ole32") #pragma comment(lib, "user32") IDirectMusicLoader* g_pLoader = NULL; IDirectMusicPerformance* g_pPerformance = NULL; IDirectMusicSegment* g_pSegment = NULL; int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { CoInitialize(NULL); CoCreateInstance(CLSID_DirectMusicLoader, NULL, CLSCTX_INPROC, IID_IDirectMusicLoader, (void**)&g_pLoader); CoCreateInstance(CLSID_DirectMusicPerformance, NULL, CLSCTX_INPROC, IID_IDirectMusicPerformance, (void**)&g_pPerformance); g_pPerformance->Init(NULL, NULL, NULL); g_pPerformance->AddPort(NULL); HMODULE hModule = GetModuleHandle(NULL); HRSRC hResource = FindResource(hModule, MAKEINTRESOURCE(IDR_RCDATA_MID), RT_RCDATA); HGLOBAL hData = LoadResource(hModule, hResource); DMUS_OBJECTDESC desc = {sizeof(DMUS_OBJECTDESC)}; desc.pbMemData = (BYTE*)LockResource(hData); desc.llMemLength = SizeofResource(hModule, hResource); desc.guidClass = CLSID_DirectMusicSegment; desc.dwValidData = DMUS_OBJ_CLASS | DMUS_OBJ_MEMORY; g_pLoader->GetObject(&desc, IID_IDirectMusicSegment, (void**)&g_pSegment); g_pSegment->SetParam(GUID_Enable_Auto_Download, -1, 0, 0,(void *)g_pPerformance); g_pPerformance->PlaySegment(g_pSegment, 0, 0, NULL); MessageBox(NULL, "Click OK to Stop.", "Playing MIDI...", MB_OK); g_pPerformance->Stop(g_pSegment, NULL, 0, 0); g_pPerformance->CloseDown(); g_pLoader->Release(); g_pPerformance->Release(); g_pSegment->Release(); CoUninitialize(); return 0; } гы, люблю из пушки по воробьям лупить... картечью %) Добавлено .rc 12345 RCDATA "GIMN2.MID" |
Сообщ.
#13
,
|
|
|
а на делфях код? а чо за хедер такой <dmusici.h> ??
|
Сообщ.
#14
,
|
|
|
Цитата wareznick @ а на делфях код? а самому написать? или спрашивай в соответствующем разделе: Delphi: Multimedia Цитата wareznick @ чо за хедер такой <dmusici.h> ?? один из хедеров DirectX Audio |
Сообщ.
#15
,
|
|
|
я то си-синтаксис понимаю и на сях программил. Меня интересует такое на Делфях и через АПИ
|