Tato diplomová práce se zabývá návrhem a vytvořením hudebního přehrávače, ovládaného pomocí webové služby. I když je na internetu celá řada hudebních přehrávačů, žádný z nich není určen pro ovládání z více počítačů najednou. Sice k některým z nich existují rozšíření, která to umožňují, výsledek ovšem není moc přívětivý pro běžného uživatele.
Při vytváření serveru, se jako první musely navrhnout webové služby, pomocí kterých se bude server ovládat. Za pomocí gSOAPu se vygenerují potřebné hlavičky webového serveru. Při zpracovávání požadavků webových služeb je zapotřebí přehrávání hudby. K tomu se využívá zvukové knihovny BASS, která umožňuje přehrání základních hudebních formátů. Aby mohla aplikace běžet na pozadí počítače bez zásahu uživatele, byla obalena funkcemi pro vytvoření služby Windows. Tímto se zajistí běh aplikace již po startu počítače bez nutnosti přihlašování do Windows.
Pro navrhnutí grafického uživatelského rozhraní klienta bylo využito knihoven wxWidgets. Ovládáním klienta se volají příslušné webové služby, které ovládají přehrávání na počítači kde běží server. Mobilní verze klienta je napsána v JavaScriptu a na rozdíl od počítačové verze neumožňuje práci s playlistem.
Výsledkem je webový server, který běží jako služba Windows, dokáže přehrávat hudbu a ukládat aktuální playlist. Klienti z různých počítačů na stejné síti se k tomuto serveru připojí a mohou ho ovládat. Klient má vzhled běžného hudebního přehrávače.
Annotation in English
This thesis describes the design and creation of the music player, controlled via Web Services. Although on the Internet is a lot of music players, none of them are designed for control from multiple computers. Some of them have extensions that allow it, but the result is not very friendly for common users.
When creating the server, first had to design a web service through which can server will be controlled. gSOAP is used to generate the necessary web server headers. When processing requests of web services, something for playback music is necessary. To that the BASS audio library is used and allows playback of basic audio files. To allow an application run in the background of the computer without user intervention, it was wrapped in functions to create a Windows service. This will ensure the application to run on startup before logging into Windows.
For designing graphical user interface of client was used wxWidgets libraries. By controlling the client it calls the appropriate Web services that control playback on the computer where the server is running. Mobile version of the client is written in JavaScript, and unlike computer version does not work with playlists.
The result is a web server that runs as a Windows service. It can play music and store current playlist. Clients from different computers on the same network can connect to the server and they can operate it. The client has the appearance of a common audio player.
Keywords
Hudební přehrávač, webové služby, služby windows, zvukové kodeky, BASS, wxWidgets, gSOAP, CodelLite, C++, JavaScript.
Keywords in English
Music player, web services, windows services, audio codecs, BASS, wxWidgets, gSOAP, CodelLite, C++, JavaScript.
Length of the covering note
73
Language
CZ
Annotation
Tato diplomová práce se zabývá návrhem a vytvořením hudebního přehrávače, ovládaného pomocí webové služby. I když je na internetu celá řada hudebních přehrávačů, žádný z nich není určen pro ovládání z více počítačů najednou. Sice k některým z nich existují rozšíření, která to umožňují, výsledek ovšem není moc přívětivý pro běžného uživatele.
Při vytváření serveru, se jako první musely navrhnout webové služby, pomocí kterých se bude server ovládat. Za pomocí gSOAPu se vygenerují potřebné hlavičky webového serveru. Při zpracovávání požadavků webových služeb je zapotřebí přehrávání hudby. K tomu se využívá zvukové knihovny BASS, která umožňuje přehrání základních hudebních formátů. Aby mohla aplikace běžet na pozadí počítače bez zásahu uživatele, byla obalena funkcemi pro vytvoření služby Windows. Tímto se zajistí běh aplikace již po startu počítače bez nutnosti přihlašování do Windows.
Pro navrhnutí grafického uživatelského rozhraní klienta bylo využito knihoven wxWidgets. Ovládáním klienta se volají příslušné webové služby, které ovládají přehrávání na počítači kde běží server. Mobilní verze klienta je napsána v JavaScriptu a na rozdíl od počítačové verze neumožňuje práci s playlistem.
Výsledkem je webový server, který běží jako služba Windows, dokáže přehrávat hudbu a ukládat aktuální playlist. Klienti z různých počítačů na stejné síti se k tomuto serveru připojí a mohou ho ovládat. Klient má vzhled běžného hudebního přehrávače.
Annotation in English
This thesis describes the design and creation of the music player, controlled via Web Services. Although on the Internet is a lot of music players, none of them are designed for control from multiple computers. Some of them have extensions that allow it, but the result is not very friendly for common users.
When creating the server, first had to design a web service through which can server will be controlled. gSOAP is used to generate the necessary web server headers. When processing requests of web services, something for playback music is necessary. To that the BASS audio library is used and allows playback of basic audio files. To allow an application run in the background of the computer without user intervention, it was wrapped in functions to create a Windows service. This will ensure the application to run on startup before logging into Windows.
For designing graphical user interface of client was used wxWidgets libraries. By controlling the client it calls the appropriate Web services that control playback on the computer where the server is running. Mobile version of the client is written in JavaScript, and unlike computer version does not work with playlists.
The result is a web server that runs as a Windows service. It can play music and store current playlist. Clients from different computers on the same network can connect to the server and they can operate it. The client has the appearance of a common audio player.
Keywords
Hudební přehrávač, webové služby, služby windows, zvukové kodeky, BASS, wxWidgets, gSOAP, CodelLite, C++, JavaScript.
Keywords in English
Music player, web services, windows services, audio codecs, BASS, wxWidgets, gSOAP, CodelLite, C++, JavaScript.
Research Plan
Vytvořte rešerši na téma využití a tvorby webových služeb s důrazem na možnosti přehrávání multimediálních souborů v počítači.
Pomocí programovacího jazyka C/C++ a dalších vhodných technologií vytvořte hudební přehrávač s možností ovládání prostřednictvím webové služby.
Vytvořte aplikaci určenou pro ovládání aplikace optimalizovanou také pro mobilní platformy.
Vytvořte programovou a uživatelskou dokumentaci.
Systém publikujte pod licencí GPL2 a otestujte ho v reálném prostředí.
Zhodnoťte přínos a možný rozvoj do budoucna.
Research Plan
Vytvořte rešerši na téma využití a tvorby webových služeb s důrazem na možnosti přehrávání multimediálních souborů v počítači.
Pomocí programovacího jazyka C/C++ a dalších vhodných technologií vytvořte hudební přehrávač s možností ovládání prostřednictvím webové služby.
Vytvořte aplikaci určenou pro ovládání aplikace optimalizovanou také pro mobilní platformy.
Vytvořte programovou a uživatelskou dokumentaci.
Systém publikujte pod licencí GPL2 a otestujte ho v reálném prostředí.
Zhodnoťte přínos a možný rozvoj do budoucna.
Recommended resources
ARLOW, Jim a Ila NEUSTADT. UML a unifikovaný proces vývoje aplikací: průvodce analýzou a návrhem objektově orientovaného softwaru. Vyd. 1. Brno: Computer Press, 2003, xviii, 387 s. ISBN 80-722-6947-X.
CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge: MIT Press, 2009, xix, 1292 s. ISBN 978-0-262-03384-8.
KANISOVÁ, Hana a Miroslav MÜLLER. UML srozumitelně. 2. aktualiz. vyd. Brno: Computer Press, 2006, 176 s. ISBN 80-251-1083-4.
PRATA, Stephen. Mistrovství v C. 3. aktualiz. vyd. Překlad Boris Sokol. Brno: Computer Press, 2007, 1119 s. ISBN 978-80-251-1749-1.
SMART, Julian. Cross-platform GUI programming with wxWidgets. Upper Saddle River: Prentice-Hall, 2006, xxxv, 700 s. ISBN 01-314-7381-6.
VAN ENGELEN, Robert. GSOAP: 2.8.14 User Guide. Fsu.edu [online]. GENIVIA INC, 2000, 3.2.2013. Dostupné z: http://www.cs.fsu.edu/
engelen/soap.html
UN4SEEN DEVELOPMENTS. BASS documentation: 2.4 [online]. un4seen.com, 2012. Dostupné z: http://www.un4seen.com/doc/bass/bass.html
Recommended resources
ARLOW, Jim a Ila NEUSTADT. UML a unifikovaný proces vývoje aplikací: průvodce analýzou a návrhem objektově orientovaného softwaru. Vyd. 1. Brno: Computer Press, 2003, xviii, 387 s. ISBN 80-722-6947-X.
CORMEN, Thomas H. Introduction to algorithms. 3rd ed. Cambridge: MIT Press, 2009, xix, 1292 s. ISBN 978-0-262-03384-8.
KANISOVÁ, Hana a Miroslav MÜLLER. UML srozumitelně. 2. aktualiz. vyd. Brno: Computer Press, 2006, 176 s. ISBN 80-251-1083-4.
PRATA, Stephen. Mistrovství v C. 3. aktualiz. vyd. Překlad Boris Sokol. Brno: Computer Press, 2007, 1119 s. ISBN 978-80-251-1749-1.
SMART, Julian. Cross-platform GUI programming with wxWidgets. Upper Saddle River: Prentice-Hall, 2006, xxxv, 700 s. ISBN 01-314-7381-6.
VAN ENGELEN, Robert. GSOAP: 2.8.14 User Guide. Fsu.edu [online]. GENIVIA INC, 2000, 3.2.2013. Dostupné z: http://www.cs.fsu.edu/
engelen/soap.html
UN4SEEN DEVELOPMENTS. BASS documentation: 2.4 [online]. un4seen.com, 2012. Dostupné z: http://www.un4seen.com/doc/bass/bass.html