Logo el.androidermagazine.com
Logo el.androidermagazine.com

Replay: ο αυξανόμενος αγώνας των ελέγχων αναπαραγωγής μέσω bluetooth

Anonim

Είναι αυτό που χρησιμοποιώ στην εργασία, στο σπίτι, στο κρεβάτι, στο ντους και παντού στο μέσον για να με κρατάω υγιές και ευτυχισμένο. Η μουσική με κάνει καλύτερες και καθώς η μουσική είναι τόσο μεγάλο μέρος της εμπειρίας μου στο Android, υπήρξε μια αργή παρακμή που μου έκανε οδυνηρή επίγνωση τα τελευταία χρόνια και ιδιαίτερα τους τελευταίους μήνες.

Μερικές φορές ενεργοποιώ τα ακουστικά Bluetooth, χτυπήσω το παιχνίδι και δεν συμβαίνει τίποτα. Και τίποτα δεν συμβαίνει πολύ περισσότερο από ό, τι συνηθίζεται.

Στις πρώτες μου ημέρες Android, με την Soarin στην τσέπη μου (ναι, ονόμασα το Samsung Captivate Glide μου) και το πρώτο μου ζευγάρι ακουστικά Bluetooth Kinivo γύρω από το λαιμό μου, δεν έπρεπε να ανοίξω τη Μουσική Google Play, παίζουν στα ακουστικά μου. Στην πραγματικότητα, πήρα ένα Samsung Galaxy SII έξω από ένα συρτάρι, το ξεκίνησε για πρώτη φορά σε μήνες, ενώσε μαζί του τα ακουστικά Bluetooth και έβγαλε το κουμπί αναπαραγωγής. Και η μουσική έπαιξε.

Όχι τόσο στις τρέχουσες συσκευές στο σταθερό μου.

Το HTC 10 απλώς δεν υπακούει σε στοιχεία ελέγχου Bluetooth ορισμένες φορές, επίμονη ειδοποίηση για την εφαρμογή μουσικής ή όχι. Θα προτιμούσα να παίζω το παιχνίδι στο Moto 360 ή στο ίδιο το τηλέφωνο. Το HTC A9 είναι εξίσου λεπτό. Το Nexus 5X μερικές φορές δεν θα ξεκινήσει μουσική με την επίμονη ειδοποίηση, αλλά μερικές φορές θα το κάνει χωρίς μία. Το άκρο της Samsung S6 θα αναπαράγεται, αλλά μερικές φορές αντί να παίζει την πρόσφατα ενεργή εφαρμογή μουσικής, θα επανέλθει στην προεπιλεγμένη εφαρμογή Μουσικής.

Υπάρχει μια λέξη που συνεχίζει να επαναλαμβάνεται εδώ: μερικές φορές. Αυτό συμβαίνει γιατί αυτό είναι ένα πρόβλημα που έχει πολλές μεταβλητές: ποια συσκευή Android χρησιμοποιείτε, ποια συσκευή Bluetooth χρησιμοποιείτε, ποια έκδοση των συσκευών Android και Bluetooth έχουν οι συσκευές σας, ποια εφαρμογή μουσικής προσπαθείτε να παίξετε, σε τι περιβάλλον βρίσκεστε, κλπ. Αυτό είναι πολλά πράγματα που συμβάλλουν σε ένα φαινομενικά απλό πρόβλημα των κουμπιών που δεν εργάζονται κάθε φορά που τα πιέζετε.

Τι συμβαίνει λοιπόν εδώ; Λοιπόν, η απάντηση παίρνει λίγο - εντάξει, πολύ - τεχνικό.

Όταν πατάτε το κουμπί, ερμηνεύεται από το Android και μεταδίδεται σε όλο το σύστημα μέσω του KeyEvents. Το επόμενο κουμπί στο ακουστικό σας ερμηνεύεται και παραδίδεται ως KEYCODE_MEDIA_NEXT μέσω ενός KeyEvent. Υπάρχει μια μεγάλη ποικιλία τιμών που μπορούν να τραβηχτούν για διαφορετικά κουμπιά, ή ακόμα και για το ίδιο κουμπί. Το κουμπί αναπαραγωγής στα περισσότερα ακουστικά είναι επίσης το κουμπί παύσης, οπότε το κλειδί θα μπορούσε να επιστρέψει το KEYCODE_MEDIA_PAUSE, το KEYCODE_MEDIA_PLAY ή το πολύ πιο πιθανό KEYCODE_MEDIA_PLAY_PAUSE ανάλογα με τη συσκευή και την τρέχουσα κατάσταση. Με την ευκαιρία, εάν έχετε χτυπήσει ποτέ παύση και η μουσική ξεκίνησε κάπου αλλού, ενώ αυτό που παρακολουθείτε / ακούγοντας σταμάτησε, αυτό είναι το φταίξιμο του KeyEvent, επειδή έγινε δεκτό και ενεργοποιήθηκε από δύο εφαρμογές.

Μόλις ερμηνευτούν τα KeyEvents, πρέπει ακόμα να ακουστούν από μια εφαρμογή μουσικής που ακούει τα κουμπιά πολυμέσων μέσω μιας πρόθεσης BroadcastReceiver. Μετά από όλα, μια εφαρμογή δεν μπορεί να ενεργήσει σε ένα KeyEvent αν δεν μπορεί να το δει. Αν κάτι εμποδίζει τον δέκτη σε μια εφαρμογή από το να πιέζει κουμπιά, μπορεί να βλάψει τα στοιχεία ελέγχου αναπαραγωγής με διάφορους τρόπους, συμπεριλαμβανομένου του διαλείποντος προβλήματος που περιγράψαμε παραπάνω. Εάν μια εφαρμογή καταργήσει την εγγραφή του BroadcastReceiver πολύ γρήγορα όταν χάσει το Audio Focus (η μέθοδος μέσω της οποίας το Android προσδιορίζει ποιες εφαρμογές μπορούν να αναπαράγουν ήχο σε δεδομένη χρονική στιγμή), τότε όταν παίζετε τη μουσική σας, μπορεί να χάσει τη στάση της ακρόασης και να μην ακούσει για να ξεκινήσει πάλι η αναπαραγωγή. Γι 'αυτό είναι σημαντικό για τις εφαρμογές πολυμέσων να χειρίζονται τόσο το Audio Focus όσο και το BroadcastReceiver τους, έτσι ώστε ακόμα και όταν μια συσκευή έχει χάσει την πρώτη, δεν χάνει την τελευταία.

Πολλά από αυτά εξαρτώνται από το πόσο καλά προγραμματίζεται η εφαρμογή μουσικής σας και ποια κουμπιά μέσων εκπέμπονται από τη συσκευή σας όταν πατάτε ένα κουμπί στο ακουστικό σας. Αυτό σημαίνει επίσης ότι ακόμα και αν τα στοιχεία ελέγχου αναπαραγωγής είναι συνεπή όταν αγοράζετε μια συσκευή, μπορούν να σπάσουν από ενημερώσεις εφαρμογών ή ενημερώσεις συστήματος που αλλάζουν πόσο γρήγορα σταματά να ακούει.

Στην περίπτωση εφαρμογών όπως η Μουσική Google Play, οι αναβαθμίσεις των ενημερώσεων φαίνεται να γίνονται όλο και πιο συχνές. Ενώ τα περισσότερα διαλείμματα καθορίζονται γρήγορα, άλλα μπορούν να πάρουν μήνες για να διορθωθούν. Διαλείποντα ζητήματα, όπως η μη σωστή εκκίνηση της μουσικής σας μέσω Bluetooth, μπορεί να είναι δύσκολο να καταγραφούν και να αναγνωριστούν σωστά, επιβραδύνοντας περαιτέρω μια πιθανή αποτύπωση.

Εάν οι εφαρμογές μουσικής δεν έχουν εστίαση ήχου και δεν εκτελούνται ως υπηρεσίες προσκηνίου (εάν η επίμονη ειδοποίηση για το μέσο αναπαραγωγής δεν υπάρχει), υπάρχει πιθανότητα το σύστημα Android (πιο συγκεκριμένα Doze) ή το λεγόμενο "πόρος -αποθήκευση "εφαρμογών θα μπορούσε να σκοτώσει την εφαρμογή για να ελευθερώσει τη μνήμη για άλλες δραστηριότητες. Όταν συμβεί αυτό, το χτύπημα του παιχνιδιού μπορεί να μην κάνει τίποτα, επειδή δεν υπάρχουν ανοιχτοί δέκτες και ακρόαση εντολών.

Τώρα, ακριβώς όπως υπάρχουν πολλά πράγματα που θα μπορούσαν να σπάσουν τα στοιχεία ελέγχου αναπαραγωγής σας, υπάρχουν και επιλογές για να προσπαθήσετε να το διορθώσετε.

Η πρώτη λύση είναι λίγο ακραία, αλλά ένας από τους λίγους που οι χρήστες θα μπορούσαν να εφαρμόσουν στα σημερινά τους τηλέφωνα σήμερα χωρίς να αλλάξουν ριζικά το λογισμικό. Χρησιμοποιώντας εφαρμογές όπως το Tasker και το AutoInput, μπορούμε να ανιχνεύσουμε το πάτημα του κουμπιού, να καταργήσουμε την αρχική ενέργεια του KeyEvent και να εκτελέσουμε μια πιο εξειδικευμένη (και συνεπέστερη) εντολή που απευθύνεται άμεσα σε μία εφαρμογή. Για παράδειγμα, αντί του κουμπιού αναπαραγωγής που είναι μια γενική εντολή πολυμέσων που θα μπορούσε να παραληφθεί ή να αγνοηθεί από δεκάδες υπηρεσίες πολυμέσων, θα μπορούσαμε να το αποκαταστήσουμε ως εντολή εναλλαγής παιχνιδιού / παύσης ειδικά για τη Μουσική Google Play, έτσι ώστε άλλες εφαρμογές να μην ξεκινήστε αντ 'αυτού.

Αυτό μπορεί να είναι κουραστικό για προγραμματισμό και καταργώντας την αρχική ενέργεια και την αντικατάστασή της, διακόπτουμε το κουμπί προσωρινής παύσης που ενδέχεται να θέλουμε να χρησιμοποιήσουμε σε άλλες εφαρμογές όπως το YouTube ή το Netflix. Με λίγα λόγια, δεν είναι πολύ λύση για μη τεχνικούς χρήστες ή χρήστες που χρησιμοποιούν μια ποικιλία εφαρμογών πολυμέσων.

Πολλά τηλέφωνα περιλαμβάνουν μια σειρά από δράσεις χειρονομίας και κουμπιών που μπορείτε να ενεργοποιήσετε ή να απενεργοποιήσετε στις Ρυθμίσεις, όπως διπλό πάτημα για να ξυπνήσετε ή να πατήσετε διπλά πατημένο το κουμπί Αρχική / τροφοδοσία για την κάμερα. Ενώ η προσθήκη στοιχείων ελέγχου Bluetooth στη λίστα αυτή μπορεί να επιμηκύνει και να την περιπλέξει, αν το σύστημα Android αναγνωρίσει και κατευθύνει το KeyEvent σε μια συγκεκριμένη εφαρμογή αντί να μεταδίδει ένα γενικό σήμα σε όσους δέκτες ακούν (ή όχι) μπορούμε να εξασφαλίσουμε συνέπεια. Έχουμε δει αυτό που έγινε στις συσκευές πριν, για παράδειγμα ανοίγοντας το Moto Assist ενεργοποιώντας μια συγκεκριμένη εφαρμογή μουσικής όταν συνδεόταν με το Bluetooth του αυτοκινήτου σας.

Αλλάζοντας τον τρόπο με τον οποίο χειρίζεται τα κουμπιά πολυμέσων το Android - και ασχολείται γενικά με τις εισόδους των κουμπιών, καθώς οι ελεγκτές και τα πληκτρολόγια Bluetooth αντιμετωπίζουν τα δικά τους προβλήματα - θα μπορούσαν να δημιουργήσουν τόσα νέα προβλήματα που λύνει, αλλά λαμβάνοντας υπόψη τον αριθμό των θέσεων που μπορούν - λάθος στο σημερινό σύστημα, ίσως αξίζει να σπάσετε τα αυγά για να κάνετε μια νέα ομελέτα.

Στο τέλος της ημέρας, οι καθημερινοί χρήστες δεν θέλουν να σκάψουν σε βασικές εντολές, δέκτες και σε ποια εφαρμογή έχει ηχητική εστίαση αυτή τη στιγμή. Θέλουμε να επικεντρωθούμε στην ίδια τη μουσική και εκεί που μας παίρνει. Και αν δεν μπορώ να ενεργοποιήσω τη μουσική που με κρατάει υγιή σε δυνατά, γεμάτα μέρη στην πρώτη προσπάθεια, δεν είμαι ευτυχισμένη κοπέλα. Και ποντάρω ότι δεν είμαι ο μόνος.

Μπορούμε να κερδίσουμε προμήθεια για αγορές χρησιμοποιώντας τους συνδέσμους μας. Μάθε περισσότερα.