Logo hr.androidermagazine.com
Logo hr.androidermagazine.com

Replay: rastuća borba kontrola reprodukcije putem bluetooth-a

Anonim

To je ono što koristim na poslu, kod kuće, u krevetu, pod tušem i svugdje između da me održi zdravom i sretnom. Glazba me čini boljom, a budući da je glazba tako velik dio mog Android iskustva, došlo je do sporog pada kojeg sam bolno svjestan posljednjih nekoliko godina, a posebno zadnjih mjeseci.

Ponekad uključim Bluetooth slušalice, hitno sviram i ništa se ne događa. I ništa se ne događa puno više nego nekada.

U mojim ranim Androidovim danima, sa Soarinom u džepu (da, nazvao sam Samsung Captivate Glide) i prvim parom Kinivo Bluetooth slušalica oko vrata, nisam morao imati Google Play Music otvoren, samo sam trebao udariti sviram na mojim slušalicama. Zapravo, izvadio sam Samsung Galaxy SII iz ladice, podigao ga prvi put nakon nekoliko mjeseci, upao s njim Bluetooth slušalice i pritisnuo gumb za reprodukciju. I svirala je glazba.

Ne toliko na trenutnim uređajima u mojoj staji.

HTC 10 jednostavno se ne pokorava Bluetooth kontroli ponekad, trajne obavijesti za glazbenu aplikaciju ili ne. Radije bih igrao na svom Moto 360, ili na samom telefonu. HTC A9 je jednako šarmantan. Nexus 5X ponekad neće pokrenuti sigurnosnu kopiju glazbe uz uporno upozorenje, ali ponekad će to učiniti i bez nje. Reproducirat će se Samsung S6 edge, ali ponekad umjesto da svira glazbeno aplikaciju najaktivnije, vratit će se na unaprijed učitanu aplikaciju Music.

Ovdje se stalno ponavlja riječ: ponekad. To je zato što je to problem koji ima puno varijabli: koji Android uređaj koristite, koji Bluetooth uređaj koristite, koju verziju Androida i Bluetooth uređaja imaju, koju glazbenu aplikaciju pokušavate reproducirati, u kakvom se okruženju nalazite itd. Puno je stvari koje doprinose naizgled jednostavnom problemu tipki koji ne rade svaki put kada ih pritisnete.

Pa što se zapravo događa ovdje? Pa, odgovor je mali - ok, puno - tehnički.

Kad pritisnete gumb, Android to tumači i emitira se putem sustava putem KeyEvents. Sljedeći se gumb na vašoj slušalici tumači i isporučuje kao KEYCODE_MEDIA_NEXT kroz KeyEvent. Postoji mnogo različitih vrijednosti koje se mogu povući za različite gumbe ili čak za isti gumb. Gumb za reprodukciju na većini slušalica također je gumb za zaustavljanje, tako da bi tipka mogla vratiti KEYCODE_MEDIA_PAUSE, KEYCODE_MEDIA_PLAY ili mnogo vjerojatnije KEYCODE_MEDIA_PLAY_PAUSE, ovisno o uređaju i njegovom trenutnom stanju. Usput, ako ste ikada pogodili pauzu i glazba je započela negdje drugdje dok je ono što ste gledali / slušali pauzirano, za to je kriv KeyEvent, jer su je primile i djelovale dvije aplikacije.

Jednom kada se KeyEvents protumače, i dalje ih mora čuti glazbena aplikacija koja sluša za medijske tipke putem namjere BroadcastReceiver-a. Uostalom, aplikacija ne može djelovati na KeyEventu ako ga ne može vidjeti. Ako nešto sprečava prijemnik u aplikaciji da primi pritiske na tipke, može poremetiti kontrole reprodukcije na nekoliko načina, uključujući povremeni problem koji sam gore opisao. Ako aplikacija preregistrira svoj BroadcastReceiver prebrzo kad izgubi Audio Focus (metodu putem koje Android određuje koje aplikacije mogu reproducirati zvuk u određenom trenutku), tada kad pauzirate glazbu, može izgubiti prestanak slušanja i neće čuti pritiskanje tipke kako govori ponovo početi igrati. Zato je važno da medijske aplikacije pravilno upravljaju i Audio Focusom i njihovim BroadcastReceiverom, tako da čak i kad je uređaj izgubio prvi, ne gubi i drugi.

Dosta toga se svodi na to koliko je dobro programirana vaša glazbena aplikacija i koje medijske tipke vaš uređaj emitira kada pritisnete gumb na slušalici. To također znači da čak i ako su kontrole reprodukcije dosljedne prilikom kupnje uređaja, one se mogu prekinuti ažuriranjem aplikacija ili ažuriranjima sustava koje mijenjaju koliko brzo prestaje slušati.

U slučaju aplikacija poput Google Play Glazbe, čini se da su ažuriranja koja se prekidaju sve učestalija. Iako se većina odmora popravlja brzo, drugima može biti potreban mjesec da budu popravljeni. Povremeno povremeni problemi, poput one da se glazba ne pokreće pravilno putem Bluetooth-a, mogu se teško evidentirati i ispravno identificirati, što usporava moguće ispravljanje.

Ako glazbene aplikacije nemaju zvučni fokus i ne rade kao prednji servisi (ako trajna obavijest za medijski uređaj nije prisutna), postoji šansa da Android sustav (točnije Doze) ili tzv. "uštede" aplikacije mogu ubiti aplikaciju kako bi se oslobodila memorija za druge aktivnosti. Kad se to dogodi, ako pritisnete reprodukciju, ništa neće učiniti jer nema otvorenih prijemnika i ne slušaju naredbe.

Kao što postoji nekoliko stvari koje mogu slomiti vaše kontrole reprodukcije, postoje i mogućnosti pokušaja popravljanja.

Prvo je rješenje malo ekstremno, ali jedno je od rijetkih koje bi korisnici danas mogli implementirati na svoje trenutne telefone bez ikakvih korijenskih promjena na softveru. Pomoću aplikacija kao što su Tasker i AutoInput možemo otkriti pritiskanje gumba, potisnuti izvornu KeyEvent radnju, a zatim izvršiti više specijaliziranu (i dosljedniju) naredbu usmjerenu izravno na jednu aplikaciju. Na primjer, umjesto da gumb za reprodukciju predstavlja generičku naredbu medija za reprodukciju koju bi deseci medijskih usluga mogle pokupiti ili ignorirati, mogli bismo je prepraviti kao naredbu za uključivanje i zaustavljanje koja se odnosi na Google Play glazbu tako da ostale aplikacije ne start up umjesto.

Programiranje može biti naporno, a potiskivanjem izvorne radnje i zamjenom iste prekidamo tipku nativne pauze koju bismo možda željeli koristiti u drugim aplikacijama poput YouTubea ili Netflixa. Ukratko, nije mnogo rješenja za ne-tehničke korisnike ili korisnike koji koriste različite medijske aplikacije.

Mnogi telefoni uključuju mnoštvo gesta i gumba koje možete uključiti ili isključiti u Postavkama, poput dvostrukog dodirivanja da biste se probudili ili dvaput pritisnite Home / power za kameru. Iako dodavanje Bluetooth kontrola ovom popisu može ga produžiti i komplicirati, ako bi Androidov sustav prepoznao i usmjerio KeyEvent na određenu aplikaciju, a ne emitirao generički signal na bilo koji prijemnik koji (ili ne) sluša, mogli bismo osigurati dosljednost. To smo već vidjeli na uređajima, primjerice otvaranje Moto Assist-a za uključivanje određene glazbene aplikacije kada se povezao s Bluetoothom vašeg automobila.

Promjena načina na koji Android upravlja s medijskim gumbima - i bavi se unosima tipki u cjelini, budući da Bluetooth kontroleri i tipkovnice nailaze na vlastite probleme - mogli bi stvoriti što više novih problema, ali s obzirom na broj mjesta koja stvari mogu - i učiniti - ići pogrešno u trenutnom sustavu, možda bi bilo vrijedno razbiti jaja da biste napravili novu omlet.

Na kraju dana, svakodnevni korisnici ne žele se baviti ključnim naredbama, prijemnicima i koja aplikacija trenutno ima fokusiranje na zvuk. Želimo da naš fokus bude na samoj glazbi i tamo gdje nas vodi. I ako ne uspijem uključiti glazbu koja me uspava na glasnim, prepunim mjestima pri prvom pokušaju, nisam sretna djevojka. A kladim se da nisam jedini.

Možda ćemo zaraditi proviziju za kupovinu pomoću naših veza. Saznajte više.