![]() |
|
Programowanie:
Artykuły
FAQ
Download
Książki
WWW:
Artykuły
Narzędzia
Kursy
Darmowe
FAQ
Skrypty
Humor
Inne:
Forum
Wiki
Liczniki
Linki
Chat
Grafika
Video
Inne
|
|
Zawsze zazdrościłem Linuxowi takiego fajnego programiku jakim jest mpg123 - jest to odtwarzacz MP3 przeznaczony dla konsoli. W tym artykule napiszemy własny odpowiednik mpg123 dla Win32. Co będzie potrzebne Po pierwsze sam BASS - dostępny jest za darmo, jeśli swój program także udostępnisz za darmo (nie musi być udostępniony na zasadzie open-source, wystarczą darmowe binaria). BASS dostępny jest na stronie http://www.un4seen.com/music/ (dostępna jest tam wersja 1.5 - wersję 1.4 można także pobrać z działu Download). Mamy więc już plik bass15.zip (najnowsza wersja dostępna na stronie autora) lub bass14l.zip. Musimy teraz utworzyć bibliotekę LIB dla naszego kompilatora, robimy to programem implib: implib bass.lib bass.dll Można oczywiście posłużyć się funkcjami LoadLibrary() i GetProcAddress() aby w czasie działania programu wczytywać DLL'a i dynamicznie pobierać adresy funkcji, lecz w tym przypadku stwarza to za dużo problemów - po co zawracać sobie tym głowę skoro można to zrobić prościej i równie dobrze? (nie neguje tego, że dynamiczne wczytywanie DLL'i ma swoje zalety, ale w tym przypadku nie ma sensu). Przydatny będzie także kompilator, notatnik (tudzież inny edytor) i coś dobrego do picia (np. kawa) :)) Zaczynamy Zaczynamy od dołączenia odpowiednich plików:
main() Zainicjowanie BASS'a sprowadza się do wywołania dwóch funkcji:
BASS_Start() włącza mikser i jednocześnie umożliwia odtwarzanie. Dopiero po wywołaniu tych funkcji możemy przejść do utworzenia strumienia i właściwego odtwarzania. Strumień tworzymy funkcją BASS_StreamCreateFile():
Teraz wystarczy użyć jednej funkcji, aby było słychać dźwięk: Pierwszy parametr to uchwyt naszego strumienia, drugi to wartość true lub false - czy chcemy aby strumień był odtwarzany bezprzerwy, ostatni parametr to flagi. Ponieważ BASS działa w osobnym wątku wykonywanie naszego programu skończyło by się zanim cały dźwięk został odtworzony, musimy więc użyć jakiejś pętli, np takiej:
Program należy zakończyć zwolnieniem zasobów BASS'a:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|