Logo lv.androidermagazine.com
Logo lv.androidermagazine.com

Replay: pieaugošā cīņa par atskaņošanas vadības ierīcēm, izmantojot bluetooth

Anonim

Tas ir tas, ko es izmantoju darbā, mājās, gultā, dušā un visur pa vidu, lai uzturētu mani saprātīgu un laimīgu. Mūzika padara mani labāku, un, tā kā mūzika ir tik liela daļa no manas Android pieredzes, ir noticis lēns kritums, ko es sāpīgi apzinos pēdējos gados un it īpaši pēdējos mēnešos.

Dažreiz es ieslēdzu savas Bluetooth austiņas, nospiežu atskaņot, un nekas nenotiek. Un nekas nenotiek daudz vairāk kā agrāk.

Agrās Android dienās, kad Soarin bija kabatā (jā, es nosaucu savu Samsung Captivate Glide) un ap kaklu man bija pirmais Kinivo Bluetooth austiņu pāris, man nevajadzēja atvērt Google Play mūziku, man vienkārši vajadzēja trāpīt spēlēt manās austiņās. Patiesībā es izņēmu Samsung Galaxy SII no atvilktnes, pirmo reizi to palaižot augšup pa mēnešiem, pārī ievietoju Bluetooth austiņas un nospiedu atskaņošanas pogu. Un mūzika spēlēja.

Ne tik daudz pašreizējās ierīcēs manā stabiņā.

HTC 10 vienkārši nepakļaujas Bluetooth vadībai dažreiz, pastāvīgs paziņojums par mūzikas lietotni vai nē. Drīzāk es nospēlēšu spēli uz sava Moto 360 vai paša tālruņa. HTC A9 ir tikpat smalks. Nexus 5X dažreiz neuzsāks mūzikas dublēšanu ar pastāvīgu paziņošanu, bet dažreiz to darīs bez viena. Spēlēs Samsung S6 mala, taču dažreiz tā vietā, lai atskaņotu pēdējā laikā aktīvo mūzikas lietotni, tā pēc noklusējuma atgriezīsies iepriekš ielādētajā lietotnē Mūzika.

Šeit ir vārds, kas atkārtojas: dažreiz. Tas ir tāpēc, ka šī ir problēma, kurai ir daudz mainīgo: kādu Android ierīci izmantojat, kādu Bluetooth ierīci izmantojat, kāda Android un Bluetooth versija ir jūsu ierīcēm, kādu mūzikas lietotni jūs mēģināt atskaņot, kādā vidē jūs atrodaties utt. Tas ir daudz lietu, kas veicina šķietami vienkāršu problēmu ar pogām, kuras nedarbojas katru reizi, kad nospiežat tās.

Kas tad īsti notiek šeit? Nu, atbilde ir maza - ok, daudz - tehniska.

Kad jūs nospiežat pogu, to interpretē Android un to pārraida visā sistēmā, izmantojot KeyEvents. Nākamā austiņu poga tiek interpretēta un ar KeyEvent starpniecību piegādāta kā KEYCODE_MEDIA_NEXT. Ir ļoti dažādas vērtības, kuras var iegūt dažādām pogām vai pat vienai un tai pašai pogai. Atskaņošanas poga lielākajā daļā austiņu ir arī pauzes poga, tāpēc atslēga varētu atgriezt KEYCODE_MEDIA_PAUSE, KEYCODE_MEDIA_PLAY vai daudz ticamāku KEYCODE_MEDIA_PLAY_PAUSE atkarībā no ierīces un tās pašreizējā stāvokļa. Starp citu, ja jūs kādreiz esat nokļuvis pauzē un mūzika ir sākusies kaut kur citur, kamēr skatīšanās / klausīšanās ir pārtraukta, tas ir KeyEvent, kas vainīgs, jo to uztvēra un rīkojās divas lietotnes.

Kad KeyEvents ir interpretēti, tie joprojām ir jādzird mūzikas lietotnei, kas, izmantojot BroadcastReceiver nodomu, klausās multivides pogas. Galu galā lietotne nevar rīkoties ar KeyEvent, ja tā to neredz. Ja kaut kas neļauj lietotnes uztvērējam saņemt pogas nospiešanu, tas vairākos veidos var izjaukt atskaņošanas vadīklas, ieskaitot iepriekš aprakstīto periodisko problēmu. Ja lietotne pārāk ātri nereģistrē savu BroadcastReceiver, kad tā zaudē Audio Focus (metode, ar kuras palīdzību Android nosaka, kuras lietotnes noteiktā laikā var atskaņot audio), tad, pārtraucot mūzikas atskaņošanu, tā var zaudēt klausīšanos un nedzirdēt pogas nospiešanu. tā, lai atsāktu spēlēt. Tāpēc multivides lietotnēm ir svarīgi pareizi rīkoties gan ar Audio Focus, gan ar to BroadcastReceiver, lai pat tad, ja kāda ierīce ir pazaudējusi pirmo, tā nezaudētu otro.

Liela daļa no tā izriet no tā, cik labi ir ieprogrammēta jūsu mūzikas lietotne un kuras multivides pogas jūsu ierīce pārraida, kad nospiežat pogu uz austiņām. Tas nozīmē arī to, ka pat tad, ja atskaņošanas vadīklas ir konsekventas, pērkot ierīci, tās var sabojāt lietotņu atjauninājumi vai sistēmas atjauninājumi, kas maina to, cik ātri ierīce pārstāj klausīties.

Šķiet, ka tādu lietotņu kā Google Play mūzika atjauninājumi, kas pārtrauc darbību, kļūst arvien biežāki. Lai gan lielāko daļu pārtraukumu nosaka ātri, citiem var būt nepieciešami mēneši, lai tos fiksētu. Ar pārtraukumiem saistītas problēmas, piemēram, mūzikas atskaņošana, izmantojot ierīci Bluetooth, netiek pareizi palaista, var būt sarežģīti reģistrēt un pareizi identificēt, kas vēl vairāk palēnina iespējamo labošanu.

Ja mūzikas lietotnēm nav fokusēts audio un tās nedarbojas kā priekšplāna pakalpojumi (ja pastāvīga paziņojuma par multivides atskaņotāju tur nav), pastāv iespēja, ka Android sistēma (precīzāk Doze) vai tā dēvētais “resurss” lietotņu saglabāšana var iznīcināt lietotni, lai atbrīvotu atmiņu citām darbībām. Šādā gadījumā atskaņošanas sākšana, iespējams, neko nedarīs, jo nav neviena uztvērēja, kas būtu atvērts un klausītos komandas.

Tagad, tāpat kā vairākas lietas, kas var sabojāt atskaņošanas vadīklas, ir arī iespējas mēģināt to labot.

Pirmais risinājums ir mazliet ekstrēms, taču viens no nedaudzajiem, ko lietotāji šodien varēja ieviest savos pašreizējos tālruņos, neveicot saknes izmaiņas programmatūrā. Izmantojot tādas lietotnes kā Tasker un AutoInput, mēs varam noteikt pogas nospiešanu, apspiest sākotnējo KeyEvent darbību, pēc tam izpildīt specializētāku (un konsekventāku) komandu, kas vērsta tieši uz vienu lietotni. Piemēram, tā vietā, lai atskaņošanas poga būtu vispārēja atskaņošanas multivides komanda, kuru varētu uzņemt vai ignorēt desmitiem multivides pakalpojumu, mēs varētu to pārveidot par atskaņošanas / pauzes pārslēgšanas komandu, kas raksturīga pakalpojumam Google Play Music, lai citas lietotnes sāciet tā vietā.

To var būt apgrūtinoši programmēt, un, nomācot sākotnējo darbību un aizstājot to, mēs pārtraucam dabiskās pauzes pogu, kuru mēs varētu vēlēties izmantot citās lietotnēs, piemēram, YouTube vai Netflix. Īsāk sakot, tas nav daudz risinājums netehniskiem lietotājiem vai lietotājiem, kuri izmanto dažādas multivides lietotnes.

Daudzos tālruņos ir iekļauts daudz žestu un pogas darbību, kuras var ieslēgt vai izslēgt iestatījumos, piemēram, divreiz pieskaroties, lai pamodinātu, vai divreiz piespiežot kameru Sākums / barošana. Lai gan Bluetooth vadīklu pievienošana šim sarakstam var to pagarināt un sarežģīt, ja Android sistēmai būtu jāapzinās KeyEvent un jānovirza tā uz konkrētu lietotni, nevis vispārēja signāla pārraide visiem uztvērējiem, kas klausās (vai neklausās), mēs varētu nodrošināt konsekvenci. Mēs to esam redzējuši jau ierīcēs, piemēram, atverot Moto Assist, ieslēdzot norādīto mūzikas lietotni, kad tā ir savienota ar automašīnas Bluetooth.

Mainot veidu, kā Android apstrādā multivides pogas - un tas pats attiecas uz pogu ievadīšanu, jo Bluetooth kontrolleriem un tastatūrām rodas pašas problēmas -, varētu rasties tik daudz jaunu problēmu, cik tās atrisina, taču, ņemot vērā vietu skaitu, ko lietas var - un darīt - aiziet. nepareizi pašreizējā sistēmā, varētu būt vērts sagraut olas, lai pagatavotu jaunu omlete.

Dienas beigās ikdienas lietotāji nevēlas iedziļināties galvenajās komandās, uztvērējos un tam, kura lietotne šobrīd ir fokusēta uz audio. Mēs vēlamies, lai mūsu uzmanība būtu vērsta uz pašu mūziku un to, kur tā mūs ved. Un, ja es nevaru ieslēgt mūziku, kas mani mēģina skaust skaļās un pārpildītās vietās pirmajā mēģinājumā, es neesmu laimīga meitene. Un es derēšu, ka neesmu vienīgais.

Mēs, iespējams, nopelnīsim komisiju par pirkumiem, izmantojot mūsu saites. Uzzināt vairāk.