Android audiomanager

A class egy kellően nagy számú állandók és módszerek, de az osztály maga könnyen kezelhető.

A felhasználók a hangot halljuk a beépített hangszóró, a csatlakozó vezetékes headset, Bluetooth (A2DP audio). Akkor a AudioManager melyik jelenleg küldeni egy audio stream, és valamilyen műveletet végeznek, mint például a néma:

A rendszer értesítést keresztül sugárzott ACTION_AUDIO_BECOMING_NOISY megváltoztatására irányuló szándékáról a hangforrást. Regisztráció BroadcastReceiver és hallgatni a kívánt szándék.

Néhány más esetekben a webhely is használják AudioManager.

térfogat és lejátszás ellenőrzés

Akkor a hangerőt az alkalmazás segítségével hardver vagy szoftver ellenőrző készülék hang, bluetooth headset vagy fejhallgató.

Azt is ellenőrzik a lejátszást az audio stream - szünet, leállítás stb

Android támogatja külön audio stream lejátszásához a zene, a riasztás, figyelmeztetés, a bejövő hívást, a rendszer hangjelzést bejövő hívást, és a DTMF jelzéseket. A felhasználó szabályozhatja a hangerőt az egyes folyam külön-külön.

Alapértelmezésben, amikor megnyomja a hangerő-szabályozó gombok, módosítsa a hangerőt az aktív audio stream. Ha az alkalmazás jelenleg nem reprodukálja a hang, a hangerő-szabályozó gombok a hangerő a bejövő csengőhang. Ha van egy játék, vagy a zene alkalmazás, amikor a felhasználó megnyomja a hangerőszabályzót, azt akarja, hogy a hangerőt, vagy zenét játszik.

setVolumeControlStream () módszert alkalmazzák közvetlen hozzáférést biztosít a hangerőszabályzó gombok az audio folyam, ami meg kell adni. Ismerve, hogy pontosan mely audio stream fogja használni az alkalmazást, be kell állítania azt a kimeneti audio stream. Általában az oka a onCreate () módszer.

Ettől a pillanattól kezdve a présberendezéssel hatással mondta audio stream hangerő-szabályozó gombok, ha a tevékenység vagy fragmense témához.

A depresszió kezelésére média gombok, regisztrálnia kell BroadcastReceiver a jegyzékfájlhoz:

A végrehajtás a vevő maga kell tölteni karakternél küldött az értesítést. Szándék objektum tartalmazza EXTRA_KEY_EVENT gombot. KeyEvent osztály tartalmaz egy listát a statikus állandók KEYCODE_MEDIA_ *. amely tartalmazza az összes lehetséges média gombok, mint KEYCODE_MEDIA_PLAY_PAUSE és KEYCODE_MEDIA_NEXT.

Az alábbi kódrészlet mutatja, hogyan lehet a média megnyomta a gombot, és módosítsa a lejátszást.

Mivel több alkalmazás képes kezelni a média gombok megnyomása, meg kell programozottan irányítani, ha az alkalmazás kell kapnia a gombokkal. A következő kód használható az alkalmazás számára a regisztráció és törlési az esemény vevő média gombok segítségével AudioManager.

Általános szabály, hogy alkalmazásnak le kell kapcsolódnia vevők mikor lesz inaktív vagy láthatatlan. Ez azonban nem könnyű olyan alkalmazásokhoz, amelyek reprodukálják multimédia - ténylegesen reagálnak a lejátszás gomb megnyomásával a legfontosabb, ha az alkalmazás nem látható, és ezért nem lehet ellenőrizni a felhasználói interfész képernyő. A legjobb megoldás az, hogy regisztráljon és törlésére eseményfigyelőket média gombok, amikor az alkalmazás fogadja és elveszíti audiofokus.

audiofokusom menedzsment

Ez nem fordult, hogy több alkalmazás egyidejű elvesztése audio stream, a rendszer audiofokus ellenőrzésére audio lejátszás. Hang lejátszása csak alkalmazás, amely audiofokus. Ezért, ha nem kell, hogy győződjön meg arról, hogy az alkalmazás kérik audiofokus, valamint képes meghatározni az időben audiofokusa veszteség és ennek megfelelően reagál.

Lekérdezni audiofokusa végezzük requestAudioFocus () metódust. amely visszaadja AUDIOFOCUS_REQUEST_GRANTED. ha a kérés sikeres volt.

Meg kell határoznia, melyik szál fog használni, és milyen típusú audiofokusa van szüksége - egy ideiglenes (átmeneti) vagy tartós (állandó). Kérjük, kérjen ideiglenes hangsúly, ha kívánja, hogy lejátssza az audió egy rövid időre. Amikor zenét játszik előnyös keresik állandó audiofokus.

Kérhetnek állandó audiofokus a zenei folyam előtt játszani, például ha a felhasználó rákattint játszani, és játszik háttérzenét a következő szintre a játék.

Amikor az alkalmazás lejátszása után, hívja abandonAudioFocus () metódust. Módszer értesíti a rendszert, hogy már nincs szüksége audiofokus és eltávolításához kapcsolódó AudioManager.OnAudioFocusChangeListener. A lemondás esetén az ideiglenes audiofokusa hívó teszi, hogy bármely alkalmazás folytatja a megszakított lejátszást.

Kérésekor ideiglenes audiofokusa van egy lehetőség: aktiválja a némítás (lebukott). Általában, ha egy alkalmazás elveszti audiofokus azonnal elnémítja a lejátszást. Megkereső ideiglenes audiofokus, amely lehetővé teszi a némítás, akkor beszélni más alkalmazások, hogy továbbra is játszani audio halkabban, amíg a fókusz visszatért hozzájuk.

Némítás alkalmas használó alkalmazások az audio stream időközönként, például a játék utasításokat, ha a telepítés irányok az útvonal.

Az alkalmazás elveszíti a fókuszt, ha ezt kéri a többi alkalmazás. OnAudioFocusChange callback () metódus a hallgató audiofokusa, hogy milyen változtatásokat regisztrált kérésekor audiofokusa kap egy paramétert, amely leírja a hangsúly változás esetén. Különösen a lehetséges veszteség a fókuszból események tükrözik a fajta keresések középpontjában az előző rész, az állandó veszteség, az idő, vagy ideiglenes elvesztése néma.

Meg kell továbbra is figyelemmel kíséri a változás a középpontban, és készen áll, hogy újra játszani a pontot, ahol abbahagyta, amint helyreállítására összpontosít.

Ha audiofokusa veszteség állandó, azt feltételezzük, hogy a jelen pillanatban, egy másik alkalmazást hallgatni audio és az alkalmazás hatékonyan kell befejezni magát.

Az alábbi felsorolás, akkor felfüggesztjük a játék, ha a kár audiofokusa ideiglenes és folytathatja azt, ha visszaértünk audiofokus. Ha a veszteség tartós, akkor törli a vevő rendezvényünk regisztrációs kulcsokat, és megáll nyomon követésére audiofokusa.

Abban az esetben, ideiglenes elvesztése audiofokusa ahol megengedett némítás, akkor a „make csendesebb.”

A következő példában, mi csökkenti a hangerőt a médialejátszó, amikor átmenetileg elveszíti audiofokus, majd visszatér a hangerő az előző szintre, amikor a fókusz visszatér.

mikrofonkezelő

Ellenőrizze, hogy a mikrofon ki van kapcsolva, módszerével isMicrophoneMute ():

Engedélyezése vagy letiltása a mikrofon segítségével setMicrophoneMute () módszer:

használata hangszórók

isSpeakerphoneOn () metódus annak meghatározására, hogy zene szól a hangszórókból.

Kapcsolja be a hangszórókat vagy ki lehet keresztül setSpeakerphoneOn () metódus:

további irodalom

„Csendes” mód - Normál üzemmód vezérlő, Néma, Rezgés.

Kapcsolódó cikkek