Android заставляет HDMI аудио

Мой ADT-1 не воспроизводит звук через HDMI при подключении к телевизору.

На этом конкретном телевизоре мне пришлось включить звук HDMI на Raspberry PI, поэтому я пытаюсь также включить его на ADT-1.

Я пытался сделать приложение с разрешения

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

И использование экземпляра AudioManager для изменения настроек

AudioManager manager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);    
Log.d(TAG, "ATTACHED: " + manager.getParameters("attached_output_devices"));
Log.d(TAG, "DEFAULT: " + manager.getParameters("default_output_device"));
Log.d(TAG, "PRE: " + manager.getParameters("audio_devices_out_active"));       
manager.setParameters("audio_devices_out_active=AUDIO_DEVICE_OUT_AUX_DIGITAL");
Log.d(TAG, "POST: " + manager.getParameters("audio_devices_out_active"));

но все журналы возвращаются пустыми, и в аудио нет никаких изменений.

ATTACHED: attached_output_devices=
DEFAULT: default_output_device=
PRE: audio_devices_out_active=
POST: audio_devices_out_active=

Я читал о TV Audio из TIF (TV Input Framework) и о возможности установки аудио-патчей, но я не думаю, что это так, это кажется больше из-за того, что телевизор виден только как монитор HDMI без звуковых возможностей.

файл /etc/audio_policy.conf показывает:

global_configuration{
 attached_output_devices AUDIO_DEVICE_OUT_SPEAKER
 default_output_device AUDIO_DEVICE_OUT_SPEAKER
 ...
}

audio_hw_modules {
 outputs{
  primary{
   ...
   devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_AUX_DIGITAL
   flags AUDIO_OUTPUT_FLAG_PRIMARY
  }
 }
}

Где AUDIO_DEVICE_OUT_AUX_DIGITAL - это HDMI.

Есть идеи, как заставить ADT-1 выводить звук по HDMI?

1 ответ

Использование

    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

в вашем манифесте и

    audioManager = (AudioManager) getApplicationContext().getSystemService(Context.AUDIO_SERVICE);
    audioManager.setParameters("audio_devices_out_active=AUDIO_CODEC");
    // or 
    audioManager.setParameters("audio_devices_out_active=AUDIO_HDMI");
    // or 
    audioManager.setParameters("audio_devices_out_active=AUDIO_HDMI,AUDIO_CODEC");

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

Другие вопросы по тегам