Munka hang android (write motor része 7), programozás android, java - a legtöbb
Nos, valóban dolgozni hang - túl grandiózus neve ezt a cikket. Tény, hogy írás közben ez itt a játék volt szükség, hogy játsszon háttérzene, és érintse meg a képernyőt. Szóval ásott a FAQ az Android SDK-t. A srácok a Google ajánlatát ilyen célokra használni SoundPool osztályban. Azonban van vele valahogy nem jött össze. Mi történik, ha nem olvassa el a FAQ óvatosan, vagy valami más, nem tudom ... És én úgy döntött, hogy osztja a pár saját kis osztályok megoldani ezt a nem is olyan korszakos problémáit. Ez tulajdonképpen ezekről osztályok, most beszélni.
Kezdjük azzal, hogy leírja egy kis osztály mSoundTrack. amelyek feladata lesz játszani egy hangot. Valójában - ez csak egy wrapper a MediaPlayer osztályban. És a kódot:
Most nézzük meg közelebbről, hogy mi az, ami. Van annyi, mint három változó, ezen a pályán - egy példánya MediaPlayer osztályban. neve - egy string, amelyben nyomon követjük nevet és egy logikai játszható - amely felelős vajon lehetséges-e, hogy reprodukálja a bizonyos hangot, vagy sem (amit az utolsó törli egy kicsit később).
Menj előre, milyen módszereket vagyunk itt? Nézzük sorrendben: start () - módszer, amely elindítja a hang lejátszást. Ha a hang felfüggesztették, majd a lejátszás onnan folytatódik, ahol a hang abbamaradt. forcestart () metódus abban különbözik az előzőtől, hogy ha egy hangról, újratekercselése zajlik elején a pályán, és a hang lejátszása az elejétől. Mindkét módszer ellenőrizze, hogy a hang egy osztály a globális beállítások mSettings kompatibilis alkalmazások előtt.
A következő módszer stop () - nem tudom, miért nevezte a „stop”, mert valójában ez csak megáll játszani egy hangot. Sőt, azt hiszem megérte, és ez egy szünet 🙂 De úgy tűnik, írta, hogy én késő este, így nem azzal :). visszatekerés () metódus szintén nem tartalmaz semmilyen kinyilatkoztatásokat egyszerűen visszaáll az elejére a hang. Két módszer isPlayable () és setPlayable (logikai lejátszható) rendre ellenőrizzük és beállítjuk nyomon követheti állapotát játszható. Nos, a getName () metódus - egyszerűen visszaadja a nevét a pályán. Ennyi amennyire mi pályán. Így a játékos sávokat, és mi könnyen elveszíteni őket, szüneteltetheti vagy visszatekerés az elejére. Úgy tűnik, a mi szempontunkból, egyre több és nem kell! De van, sőt, a játék (és ne felejtsük el, hogy ez még mindig része a játék motorja?) Sokkal kényelmesebb, hogy van néhány közös eszköz fut, és játszik a hangok.
Egy ilyen szer lenne a következő osztályba: mPlayer. Elkezdem a szokás a kód:
Szintén nagyon nagy dolog! Az osztály egy statikus sávok listáját, valamint eljárás hozzátéve számokat a listából - addTrack (). Ezen túlmenően, a találmány szerinti eljárás visszatér a számra név - getTrackByName (String név). Ha egy ilyen nevet nem volt majd visszatér null. Nos, valóban kedvéért, hogy ez milyen indult: a módszer fut az összes pályán (induláskor ellenőrzi, hogy az állapota éppen játszott zeneszám) és a módszer teljesen leállítja számokat. Mert az írás nem egy bonyolult játék ez igénytelen menedzser hangok elég volt!