Аудиовыход на гарнитуре и громкой связи одновременно

Я пытаюсь создать двойную настройку экрана. Планшет Android (Nexus 10) подключен к другому экрану с помощью HDMI.

При воспроизведении фильмов на планшете (с использованием VLC или других приложений) он будет отображаться на обоих экранах должным образом.
Однако аудиосигнал передается только через HDMI. Используя приложение SOUNDAbout, нам удалось получить аудиовыход на гарнитуре или HDMI.

Я не вижу функцию одновременного установки аудиовыхода для обоих устройств. Я попытался настроить его с помощью Audio Manager, но он работает только для одного канала.

AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE); am.setSpeakerphoneOn(true); am.setWiredHeadsetOn(true); 

Еще одна вещь, которую я заметил, это API-интерфейс setParameters, который затем передает переменные в аудиосистему платформ. Это может быть ALSA, возможно, решение есть?

Solutions Collecting From Web of "Аудиовыход на гарнитуре и громкой связи одновременно"

Невозможно сделать это таким образом, чтобы гарантированно работать на всех устройствах Android. Проблема здесь в том, что на платформах обычно отсутствует какой-либо компонент HDMI + Speaker или HDMI + Headset (например, аудиоустройство, которое описывает маршрут низкого уровня для одного выходного потока как на HDMI, так и на другое место назначения). Не то, чтобы обязательно были какие-либо аппаратные ограничения, но это просто не маршрут, который вы обычно хотели бы использовать, и поэтому он не был добавлен.

Я никогда не сталкивался с платформой, на которой для любого типа потока выбирались как HDMI, так и проводная гарнитура. HDMI-динамик может быть выбран для типов потоков RING и ALARM на некоторых платформах, но если на платформе отсутствует комбо-устройство для реализации этого решения маршрутизации, вы все равно получите звук только в HDMI или Speaker.
Взгляните на этот код, чтобы понять, что я имею в виду. Это то, что OEM-производители, использующие платформы Qualcomm, в значительной степени основывают свой код на. И то, что делает этот конкретный фрагмент кода, выбирает низкоуровневый маршрут вывода для определенного потока. В вашем случае он увидит, что HDMI (AUX_DIGITAL) доступен, поэтому он выберет «случай использования» HDMI (что соответствует чему-то вроде этого ) и сразу же вернется.