Hogyan csatlakoztassunk vizuális plugint a winamptól?
hogyan lehet csatlakoztatni a vizuális plugineket a Winamp-tól?
Nos, mondja meg, Che, nincs gond (((((
én is
1) Keressen egy példát a vizuális plug-in forrásairól (most nem adom meg a linket, de van néhány).
2) Megnézni, hogy milyen funkciókat exportálnak (hogy a plug-in dll, remélem, egy tanfolyamon?).
3) A programban töltsd be a dll - plugint, és hívd meg ezeket a függvényeket az elemi logika (inicializálás, frissítés, befejezés) szerint. A frissítés során csúsztassa el a plugint, mint egy hang (vagy legalább véletlenszerű) adat.
> Frissítésként csatlakoztassa a plugint, mint egy hang (vagy legalábbis
> véletlenszerűen).
kb.
Szeretném használni magával a winamp-ot, játszik, és a vizualizálást a formámon.
Nos, a herceg tiszta, amíg meg nem próbálok legalább csatlakozni.
Hmm, mi a lényeg? Mutassa be mindenkinek, hogy "itt írtam egy plugint." )
Az AVS plug-in segítségével a "kimenet az űrlapra" egyszerű: engedélyezze a overlay módot, válasszon néhány ritka színt, töltse ki ezt az űrlapot saját színével - és boldog lesz :)
Hmm, mi a lényeg? Mutassa le mindazt, ami "itt írt egy plugint"?
> # xA0; :)
A jelentés teljesen más.
> AVS plug-in segítségével a "kimenet létrehozása" egyszerű: enable
> átfedés mód, válasszon néhány ritka színt, töltse ki
> ez a szín az űrlapodat - és boldog leszel :)
De ez egy igazi tipp, nagyon köszönöm)))
Íme egy példa.
Mondja meg, hogyan kell felhívni Legalább "A programról"
Már mindent írok a post [2], 3. pontjában.
Majdnem találgatás, kivéve, hogy közvetlenül a dll-ből csak a winampVisGetHeader-t hívják, és minden mást a struktúrán keresztül visszaküld.
Nem világos, hogyan hívhat egy funkciót a dll-ből? Azt jelenti, hogy valamit meg kell becsülnöd erről a témáról (konkrétan a dinamikus terhelés dll-ről van szó).
Erre tekintettel van
LoadLibrary
GetProcAddress
winampVisGetHeader
getModule
config (init, render, quit.) De nagy plug-inekhez, például az AVS-hez, először init, majd config).
Egyelőre nem tisztázott ez a pillanat
> hogy közvetlenül a dll-ből csak winampVisGetHeader okozza,
> # xA0, és minden mást a szerkezeten keresztül visszaküld.>
Nos, meg kell próbálnunk.
eljárás TForm1.Button1Kattintson (Feladó: TObject);
var LibHandle: THandle;
# xA0; # xA0; render: eljárás;
kezdődik
# xA0; # xA0; LibHandle: = LoadLibrary ("From: \. \ Vis_avs.dll");
# xA0; # xA0; @render: = GetProcAddress (LibHandle, "winampVisGetHeader");
# xA0; # xA0;
Mennyire tovább?
?
?
?
?
# xA0; # xA0;
# xA0; # xA0; FreeLibrary (LibHandle); // A DLL számára rendelkezésre álló szabad memória
> Var Hdr. # xA0; PWinampVisHeader;
> # xA0; # xA0; Mod. PWinampVisModule;
brbrbr
Honnan származnak ezek a típusok: PWinampVisHeader; PWinampVisModule;
egyre inkább összezavarodok.
A nagy kérés - ha nem nehéz, csak példát adjon a valós kódra, amelyben a vis_avs.dll meghívást kapott a könyvtárból, például a beállításokat tartalmazó ablak és az ALL, a téma lezárásra kerül.
egyre inkább összezavarodok.
A nagy kérés - ha nem nehéz, csak példát adjon a valós kódra, amelyben a vis_avs.dll meghívást kapott a könyvtárból, például a beállításokat tartalmazó ablak és az ALL, a téma lezárásra kerül.
Hol származtak ezek a típusok:
Innen:
ka1n # xA0; (14.12.06 15:52) [6]
Egyébként a winampVisGetHeader típusát is be kell vinni. Ie nem csak egy eljárás, hanem
Var winampVisGetHeader: funkció. PWinampVisHeader; cdecl;
Talán nem pontosan a Ka1n témában, de van # xA0; Bassplayer v1.81 a
vannak plug-inek Winamp a demóban és kódjában.
Tehát ha érdekes, el tudom dobni az e-mailre (nem tudom, hol töltötte le).
És ha ez megtörténik, láthatja a kódot.