Работа с аппаратной частью вывода звука

Большинство Android устройств содержит встроенный микрофон, разъем для наушников и проводной гарнитуры и возможность подключить множество bluetooth устройств, которые поддерживают протокол A2DP для передачи аудио.

Проверяем, какие аппаратные средства используются

Работа вашего приложения может зависеть от доступных аппаратных средств.

Вы можете использовать класс AudioManager, чтобы узнать куда в текущий момент выводится аудио: на динамик, проводную гарнитуру или на bluetooth устройство. Пример:

Обработка изменения устройства вывода

Если наушники были отсоединены или bluetooth устройство было отключено, аудио поток автоматически переходит в динамик. Если вы слушали музыку на большой громкости, это может стать сюрпризом.

К счастью, в таких случаях система рассылает широковещательное намерение с действием ACTION_AUDIO_BECOMING_NOISY. Будет здорово, если вы зарегистрируете широковещательный приемник для обработки подобных ситуаций. Чаще всего остановки воспроизведения пользователи ждут от музыкальных плееров, в то же время в играх вы можете просто немного убавить громкость:

Добавить комментарий