Mam pytanie. Jak załadować pliki do biblioteki dll i jak z poziomu delphi odgrać pliki dźwiękowe ?
Co do formatu to może być mp3 lub wav.
Mam pytanie. Jak załadować pliki do biblioteki dll i jak z poziomu delphi odgrać pliki dźwiękowe ?
Co do formatu to może być mp3 lub wav.
Multimedia w Delphi
Odtwarzanie wave z WinAPI
Biblioteki DLL
Biblioteka BASS
Potrzebujesz więcej leniuszku?
Ale mi chodzi najlepiej o przykład z tym, bo nie wiem jak odczytać załadowany dźwięk z dll i nie wiem jak go tam władować.
Przejrzyj ten kod źródłowy: http://www.speedyshare.com/691889725.html a jak chcesz wiedzieć jak
dodać coś do zasobów to poczytaj artykuł: Zasoby w EXE i
jak chcesz coś konkretnie władować do zasobów biblioteki to utwórz w Delphi biblotekę dll np. w stylu
library dllka;
{$R dllka.res}
begin
end.
Utworzony wcześniej plik dllka.rc z opisem zasobów przerób na plik zasobów przy użyciu brcc32.exe
i następnie skompiluj bibliotekę, a później korzystając z mojego kodu w projekcie from_res zmien aby
zamiast wartości HInstance użyj na przykład zmiennej UchwytDll, ktory ładujesz w taki oto sposób:
var
Chn : DWord;
MyResource : HRSRC;
MyGlobal : HGLOBAL;
PResource : Pointer;
ResSize : Integer;
UchwytDll : THandle;
begin
UchwytDll := LoadLibrary('dllka.dll');
if UchwytDll <> 0 then
begin
MyResource := FindResource(UchwytDll, 'muzyka', RT_RCDATA);
// ... i tutaj dalsze instrukcje.
end;
end;
Pamiętaj aby HInstance zamienić na UchwytDll, bo inaczej nie znajdzie zasobu. Tylko pamiętaj żeby
dać prawidłową nazwę zasobu (w moim przykładzie jest to 'muzyka') i ponieważ ładuję plik - moduł, a
nie mp3kę lub wave to używam BASS_MusicLoad, a Ty jak chcesz ładowac co innego niż moduły, to
musisz użyć BASS_StreamCreateFile. To tyle. Teraz powinieneś już sobie z tym poradzić, a jak nie
to daruj to sobie. Zresztą moje źródło powinno Tobie wszystko wyjaśnić, tylko sorry za brak wcięć :P