Управление музыкой общего назначения на телефоне Android из часов Android Wear

На моих часах Android Wear 2.0, если они подключены к моему телефону через Bluetooth, при воспроизведении музыки на телефоне из любого источника часы автоматически переключаются на некое стандартное приложение для управления звуком, из которого я могу воспроизводить / приостанавливать / пропускать / и т.д. на своем телефоне. Телефон.

Это заставляет меня думать, что должен быть какой-то интерфейс, который позволил бы мне реализовать те основные средства управления мультимедиа из приложения, которое я разрабатываю. Хотя я не смог найти никакой информации.

У кого-нибудь есть информация о том, как сделать это на Android Wear?

2 ответа

Вы можете обратиться к этому примеру кода, чтобы узнать, как адаптировать приложение музыкального проигрывателя для бесперебойной работы на Android Wear с использованием новейших API-интерфейсов для Android.

Если вы используете медиа-API, ваши пользователи смогут управлять воспроизведением и просматривать песни на своих устройствах Android Wear без какого-либо дополнительного кода. С этим руководством Android Wear автоматически подключается к MediaSessionCompat связаны между собой MediaStyle уведомление. Последняя версия Android Wear также подключается к MediaBrowserServiceCompat для просмотра контента.

Вы также можете проверить это руководство о том, как реализовать приложение для воспроизведения мультимедиа, которое работает в различных форм-факторах и обеспечивает единообразное взаимодействие с пользователями на телефонах Android, планшетах, Android Auto, Android Wear, Android TV и устройствах Google Cast.

См. AudioManager.dispatchMediaKeyEvent(KeyEvent keyEvent)

Очевидно, этот код должен работать на том устройстве, которым вы хотите управлять. Таким образом, вы можете запустить службу WearableListenerService на телефоне, отвечая на сообщения об износе.

DispatchMediaKeyEvent - Киткат и выше. Для поддержки более ранних версий вы транслируете намерения. Intent.ACTION_MEDIA_BUTTON.

Оба из них должны работать событиями down и up, или, по крайней мере, на некоторых устройствах.

long eventTime = SystemClock.uptimeMillis() - 1;
KeyEvent downEvent = new KeyEvent(eventTime,eventTime,KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_MEDIA_PAUSE, 0);
audioManager.dispatchMediaKeyEvent(downEvent);

eventTime++;
KeyEvent upEvent = new KeyEvent(eventTime, eventTime, KeyEvent.ACTION_UP, KeyEvent.KEYCODE_MEDIA_PAUSE, 0);
audioManager.dispatchMediaKeyEvent(upEvent);
Другие вопросы по тегам