Đó là những gì tôi sử dụng tại nơi làm việc, ở nhà, trên giường, trong phòng tắm và mọi nơi ở giữa để giữ cho tôi lành mạnh và hạnh phúc. Âm nhạc làm cho tôi trở nên tốt hơn và vì âm nhạc là một phần lớn trong trải nghiệm Android của tôi, đã có một sự suy giảm chậm mà tôi đã nhận ra một cách đau đớn trong vài năm qua, và đặc biệt là vài tháng qua.
Đôi khi tôi bật tai nghe Bluetooth, nhấn play và không có gì xảy ra. Và không có gì xảy ra nhiều hơn trước đây.
Trong những ngày đầu Android của tôi, với Soarin trong túi của tôi (vâng, tôi đã đặt tên cho Samsung Cap activate Glide) và cặp tai nghe Bluetooth Kinivo đầu tiên của tôi quanh cổ, tôi không cần phải mở Google Play Music, tôi chỉ cần nhấn chơi trên tai nghe của tôi Trên thực tế, tôi đã lấy một chiếc Samsung Galaxy SII ra khỏi ngăn kéo, khởi động nó lần đầu tiên sau nhiều tháng, ghép nối tai nghe Bluetooth với nó và nhấn nút phát. Và âm nhạc đã chơi.
Không quá nhiều trên các thiết bị hiện tại trong ổn định của tôi.
HTC 10 đôi khi không tuân theo các điều khiển Bluetooth, thông báo liên tục cho ứng dụng âm nhạc hay không. Thà rằng tôi nhấn play trên Moto 360 của tôi, hoặc trên chính điện thoại. HTC A9 cũng khó tính như vậy. Nexus 5X đôi khi sẽ không bắt đầu sao lưu nhạc với thông báo liên tục, nhưng đôi khi sẽ làm điều đó mà không có ai. Samsung S6 edge sẽ phát, nhưng đôi khi thay vì chơi ứng dụng âm nhạc hoạt động gần đây nhất, nó sẽ mặc định trở lại ứng dụng Music được tải sẵn.
Có một từ cứ lặp đi lặp lại ở đây: đôi khi. Đó là bởi vì đây là một vấn đề có rất nhiều biến số: bạn đang sử dụng thiết bị Android nào, thiết bị Bluetooth nào đang sử dụng, phiên bản Android và Bluetooth nào mà thiết bị của bạn có, ứng dụng âm nhạc nào bạn đang cố gắng phát qua, bạn đang ở trong môi trường nào, v.v … Đó là rất nhiều điều để đóng góp cho một vấn đề có vẻ đơn giản là các nút không hoạt động mỗi khi bạn nhấn chúng.
Vì vậy, những gì thực sự xảy ra ở đây? Vâng, câu trả lời nhận được một chút - ok, rất nhiều - kỹ thuật.
Khi bạn nhấn nút, nó được Android giải thích và phát trên toàn hệ thống thông qua KeyEvents. Nút tiếp theo trên tai nghe của bạn được diễn giải và phân phối dưới dạng KEYCODE_MEDIA_NEXT thông qua KeyEvent. Có rất nhiều giá trị có thể được kéo lên cho các nút khác nhau hoặc thậm chí cho cùng một nút. Nút phát trên hầu hết các tai nghe cũng là nút tạm dừng, do đó, phím này có thể trả về KEYCODE_MEDIA_PAUSE, KEYCODE_MEDIA_PLAY hoặc nhiều khả năng KEYCODE_MEDIA_PLAY_PAUSE tùy thuộc vào thiết bị và trạng thái hiện tại của thiết bị. Nhân tiện, nếu bạn đã từng tạm dừng và âm nhạc bắt đầu ở một nơi khác trong khi những gì bạn đang xem / nghe bị tạm dừng, thì đây là KeyEvent đáng trách, bởi vì nó đã được nhận và hành động bởi hai ứng dụng.
Khi KeyEvents được diễn giải, chúng vẫn phải được nghe bởi một ứng dụng âm nhạc đang nghe các nút phương tiện thông qua ý định BroadcastReceiver. Rốt cuộc, một ứng dụng không thể hoạt động trên KeyEvent nếu ứng dụng không thể nhìn thấy nó. Nếu có thứ gì đó ngăn người nhận trong ứng dụng nhận nút nhấn, nó có thể làm rối các điều khiển phát lại theo nhiều cách, bao gồm cả vấn đề không liên tục mà tôi đã mô tả ở trên. Nếu một ứng dụng hủy đăng ký BroadcastReceiver của nó quá nhanh khi mất Audio Focus (phương thức mà Android xác định ứng dụng nào có thể phát âm thanh tại một thời điểm nhất định), thì khi bạn tạm dừng nhạc, nó có thể mất nghe và không nghe thấy nút nhấn Nó để bắt đầu chơi lại. Đó là lý do tại sao điều quan trọng đối với các ứng dụng phương tiện để xử lý cả Audio Focus và BroadcastReceiver của chúng một cách chính xác để ngay cả khi một thiết bị bị mất cái trước, nó cũng không mất cái sau.
Rất nhiều điều này cho thấy ứng dụng âm nhạc của bạn được lập trình tốt như thế nào và các nút phương tiện nào đang được thiết bị của bạn phát khi bạn nhấn một nút trên tai nghe. Điều này cũng có nghĩa là ngay cả khi các điều khiển phát lại nhất quán khi bạn mua một thiết bị, chúng có thể bị phá vỡ bởi các bản cập nhật ứng dụng hoặc cập nhật hệ thống thay đổi tốc độ của thiết bị dừng nghe.
Trong trường hợp các ứng dụng như Google Play Music, các bản cập nhật phá vỡ mọi thứ dường như ngày càng thường xuyên hơn. Trong khi hầu hết các lần nghỉ được khắc phục nhanh chóng, những người khác có thể mất vài tháng để được sửa. Các vấn đề không liên tục, chẳng hạn như âm nhạc của bạn không khởi động đúng cách trên Bluetooth, có thể khó đăng nhập và xác định đúng, làm chậm thêm một sửa chữa có thể.
Nếu các ứng dụng âm nhạc không có tiêu điểm âm thanh và không chạy dưới dạng dịch vụ nền trước (nếu thông báo liên tục cho trình phát phương tiện không có), có khả năng hệ thống Android (cụ thể hơn là Doze) hay còn gọi là "tài nguyên" ứng dụng -saving "có thể giết chết ứng dụng để giải phóng bộ nhớ cho các hoạt động khác. Khi điều đó xảy ra, nhấn play có thể không làm gì cả vì không có bất kỳ máy thu nào mở và nghe lệnh.
Bây giờ, giống như có một số điều có thể phá vỡ các điều khiển phát lại của bạn, cũng có các tùy chọn để cố gắng khắc phục nó.
Giải pháp đầu tiên hơi cực đoan, nhưng một trong số ít người dùng có thể thực hiện trên điện thoại hiện tại của họ ngày hôm nay mà không có bất kỳ thay đổi gốc nào đối với phần mềm. Sử dụng các ứng dụng như Tasker và AutoInput, chúng tôi có thể phát hiện nhấn nút, triệt tiêu hành động KeyEvent ban đầu, sau đó thực hiện lệnh chuyên biệt hơn (và nhất quán hơn) nhắm trực tiếp vào một ứng dụng. Chẳng hạn, thay vì nút phát là một lệnh phương tiện phát chung có thể được chọn hoặc bỏ qua bởi hàng tá dịch vụ phương tiện, chúng tôi có thể sử dụng lại như một lệnh phát / tạm dừng chuyển đổi cụ thể cho Google Play Music để các ứng dụng khác không bắt đầu lên
Điều này có thể tẻ nhạt khi lập trình và bằng cách triệt tiêu hành động ban đầu và thay thế nó, chúng tôi phá vỡ nút tạm dừng gốc mà chúng tôi có thể muốn sử dụng trong các ứng dụng khác như YouTube hoặc Netflix. Nói tóm lại, đó không phải là một giải pháp cho người dùng không có kỹ thuật hoặc người dùng sử dụng nhiều ứng dụng đa phương tiện.
Nhiều điện thoại bao gồm một cử chỉ cử chỉ và hành động nút mà bạn có thể bật hoặc tắt trong Cài đặt, như nhấn đúp để đánh thức hoặc nhấn đúp Home / power cho máy ảnh. Mặc dù việc thêm các điều khiển Bluetooth vào danh sách này có thể kéo dài và làm phức tạp nó, nếu hệ thống Android phải thừa nhận và hướng KeyEvent đến một ứng dụng cụ thể thay vì truyền tín hiệu chung tới bất kỳ máy thu nào đang nghe (hoặc không), chúng tôi có thể đảm bảo tính nhất quán. Chúng tôi đã thấy điều này được thực hiện trên các thiết bị trước đây, ví dụ như mở Moto Assist bật ứng dụng âm nhạc được chỉ định khi kết nối với Bluetooth của xe hơi của bạn.
Thay đổi cách Android xử lý các nút phương tiện - và xử lý các nút đầu vào tổng thể, vì bộ điều khiển và bàn phím Bluetooth gặp phải vấn đề của riêng họ - có thể tạo ra nhiều vấn đề mới khi giải quyết, nhưng xem xét số lượng địa điểm có thể - và làm - đi sai trong hệ thống hiện tại, có thể đáng để phá vỡ trứng để làm món trứng tráng mới.
Vào cuối ngày, người dùng hàng ngày không muốn đào sâu vào các lệnh chính, máy thu và ứng dụng nào có tiêu điểm âm thanh ngay bây giờ. Chúng tôi muốn tập trung vào âm nhạc và nơi nó đưa chúng ta đến. Và nếu tôi không thể bật nhạc giúp tôi tỉnh táo ở những nơi ồn ào, đông đúc trong lần thử đầu tiên, tôi không phải là một cô gái hạnh phúc. Và tôi cá là tôi không phải người duy nhất.
Chúng tôi có thể kiếm được một khoản hoa hồng cho việc mua hàng bằng cách sử dụng các liên kết của chúng tôi. Tìm hiểu thêm.