Zenelejátszó program – 0. rész
Az „Alkalmazásfejlesztés élesben” rovat létrehozásakor az volt a célom, hogy olyan kódrészletek, alkalmazások készüljenek el szemléltetve a C# nyelv képességeit, amik nem állatorvosi lovak és valami hasznosat is végeznek. Azonban itt az idÅ‘, hogy szintet lépjünk és egy komplexebb alkalmazást készÃtsünk.
A komplex alkalmazás, mint ahogy a cÃmbÅ‘l is kiderül, egy zenelejátszó program lesz.
Felmerülhet a kérdés, hogy miért? Tudom, hogy manapság sokan Spotify vagy valami streaming szolgáltatásról hallgatnak zenéket. Azonban én abba a szűk rétegbe tartozom, aki ha kijön egy album, megveszi CD-n is, illetve amilyen zenéket én hallgatok, azokból sok Spotify-on meg sem található, vagy ha mégis, akkor rövidÃtett radio edit formában van fent.
Az előző bekezdésből kiderülhet, hogy nem a világot megváltó szuper népszerű alkalmazás létrehozása a cél, hanem egy olyan lejátszóé, ami az igényeimnek megfelel, amolyan Winamp klón lesz. Ezen felül és nagyon nem utolsó sorban véleményem szerint rengeteget lehet tanulni egy ilyen projektből és látványos is.

A sorozat előreláthatólag nem lesz rövid, mivel minden témát ki szeretnék részletesen fejteni. Ebből adódóan nem biztos, hogy minden héten folytatással fog jelentkezni, de tervem szerint hamarább és összeszedettebben fognak megjelenni a részek, mint a letöltés mappa rendező esetén.
Követelmények
Minden program esetén a specifikáció az elsÅ‘ legfontosabb lépés. A lejátszó MVP (Minimal Viable Product – Mimálisan életképes termék) definÃcióját a következÅ‘képpen határoztam meg:
- Mp3/Ogg/M4a/Aac/Alac/Flac/WavPack formátumok támogatása
- PLS/M3U lejátszási listák támogatása
- M4a esetén a fájlban található chapter információk kiolvasása
- Ha a fájl tartalmaz elÅ‘adó és borÃtó információt, akkor azok megjelenÃtése
- Lejátszási lista kezelése betöltés, mentés, rendezés, hozzáadás funkciókkal
- Audio CD lemezek lejátszása és a lemezen található CdText információk megjelenÃtése
- Total Commander integráció plugin segÃtségével
- Windows shell integráció
A fenti listában valószÃnűleg vannak olyan pontok, amik most még nem világosak az olvasó számára, Ãgy majd amikor a program ezen részeit tárgyaljuk, akkor részletesen belemegyünk a dolgokba.
Technológia
Mivel egy C# oldalon vagyunk evidens, hogy a nyelv C# lesz, méghozzá a 9.0 specifikáció alapján .NET 5 platformon. UI keretrendszer tekintetében a választásom a WPF-re esett, mivel ebben van a legnagyobb tapasztalatom. Ez pedig magában hordozza azt, hogy Windows-ra fogunk fejleszteni.
Architektúra tekintetében a program 64 bites operációs rendszereket fog támogatni. Ennek oka az, hogy 2021-ben nem igen van létjogosultsága a 32 bites alkalmazásoknak, mivel jó 10 éve már minden x86 processzor támogat x64 utasÃtásokat is.
Architektúra szempontjából a felhasználói felület az MVVM-et fogja követni.
Az elÅ‘zÅ‘ pár bekezdés ismételten halandzsának tűnhet, de majd mikor odaérünk, részletesen foglalkozunk mindennel. Folytatása következik … 🙂