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.
Anotace v angličtině
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.
Klíčová slova
Hudební přehrávač, webové služby, služby windows, zvukové kodeky, BASS, wxWidgets, gSOAP, CodelLite, C++, JavaScript.
Klíčová slova v angličtině
Music player, web services, windows services, audio codecs, BASS, wxWidgets, gSOAP, CodelLite, C++, JavaScript.
Rozsah průvodní práce
73
Jazyk
CZ
Anotace
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.
Anotace v angličtině
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.
Klíčová slova
Hudební přehrávač, webové služby, služby windows, zvukové kodeky, BASS, wxWidgets, gSOAP, CodelLite, C++, JavaScript.
Klíčová slova v angličtině
Music player, web services, windows services, audio codecs, BASS, wxWidgets, gSOAP, CodelLite, C++, JavaScript.
Zásady pro vypracování
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.
Zásady pro vypracování
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.
Seznam doporučené literatury
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
Seznam doporučené literatury
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
Přílohy volně vložené
-
Přílohy vázané v práci
-
Převzato z knihovny
Ne
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Student seznámil komisi s obsahem a výsledky své diplomové práce v krátké prezentaci. Po přečtení posudků vedoucího a oponenta práce následovala diskuze, ve které byly položeny následující dotazy:
1. Na straně 13 používáte výraz ?kostrbatost? reprodukovaného záznamu. Vysvětlete prosím jak se to projeví na reprodukovaném záznamu, jestli se mohou objevit vyšší frekvence na výstupu, než byly v původním signálu vzhledem k vzorkovacímu teorému (Shannonův teorém) a pokud ano, tak jak se tomu dá zabránít.
2. Jakým způsobem řešíte zpětnou vazbu uživateli od samotného přehrávače ? například při chybě v souboru?
3. Je skutečně nutné sdílet po síti přehrávané soubory? Šlo by aplikaci upravit tak, aby seznam skladeb bylo možné sestavit vzdáleně? (vše dr. Stružka)
4. Lze využít jinou funkci pro spojování vzorků? (doc. Nahodil)
5. Jak řešíte pořadí přístupu k přehrávači - oprávnění? (dr. Bližňák)?
Student na položené dotazy odpověděl. Následovalo zkoušení ze tří předmětů.