if (strategy == STRATEGY_MEDIA) { // ARC and AUX_LINE can co-exist with others. devices3 = availableOutputDevices.getDevicesFromTypes({ AUDIO_DEVICE_OUT_HDMI_ARC, AUDIO_DEVICE_OUT_HDMI_EARC, AUDIO_DEVICE_OUT_AUX_LINE, }); }
时间: 2024-02-14 20:32:17 浏览: 22
这是一个代码段,它检查一个名为 strategy 的变量是否等于 STRATEGY_MEDIA,如果是,则从可用的输出设备中获取支持 ARC 和 AUX_LINE 的设备。这段代码可能是用于音频设备管理的一部分,其中 STRATEGY_MEDIA 可能是一种特定的音频输出策略,而 devices3 可能是用于存储设备列表的变量。AUDIO_DEVICE_OUT_HDMI_ARC 和 AUDIO_DEVICE_OUT_HDMI_EARC 可能是支持 HDMI ARC 和 eARC 的设备类型,而 AUDIO_DEVICE_OUT_AUX_LINE 则可能是支持 AUX_LINE 的设备类型。
相关问题
if ((devices2.isEmpty()) && (strategy != STRATEGY_SONIFICATION)) { // no sonification on aux digital (e.g. HDMI) // devices2 = availableOutputDevices.getDevicesFromType(AUDIO_DEVICE_OUT_AUX_DIGITAL); devices2 = availableOutputDevices.getDevicesFromType(AUDIO_DEVICE_OUT_HDMI_1); } //priority Wired > a2dp > hdmi > hdmi 1 > spdif > spdif 1 if ((devices2.isEmpty()) && (strategy != STRATEGY_SONIFICATION)) { // devices2 = availableOutputDevices.getDevicesFromType(AUDIO_DEVICE_OUT_HDMI_1); devices2 = availableOutputDevices.getDevicesFromType(AUDIO_DEVICE_OUT_AUX_DIGITAL); } if ((devices2.isEmpty()) && (strategy != STRATEGY_SONIFICATION)) { devices2 = availableOutputDevices.getDevicesFromType(AUDIO_DEVICE_OUT_SPDIF); } if ((devices2.isEmpty()) && (strategy != STRATEGY_SONIFICATION)) { devices2 = availableOutputDevices.getDevicesFromType(AUDIO_DEVICE_OUT_SPDIF_1); } if ((devices2.isEmpty()) && (getForceUse(AUDIO_POLICY_FORCE_FOR_DOCK) == AUDIO_POLICY_FORCE_ANALOG_DOCK)) { devices2 = availableOutputDevices.getDevicesFromType( AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET); } if (devices2.isEmpty()) { devices2 = availableOutputDevices.getDevicesFromType(AUDIO_DEVICE_OUT_SPEAKER); } DeviceVector devices3; if (strategy == STRATEGY_MEDIA) { // ARC and AUX_LINE can co-exist with others. devices3 = availableOutputDevices.getDevicesFromTypes({ AUDIO_DEVICE_OUT_HDMI_ARC, AUDIO_DEVICE_OUT_HDMI_EARC, AUDIO_DEVICE_OUT_AUX_LINE, }); } devices2.add(devices3); // device is DEVICE_OUT_SPEAKER if we come from case STRATEGY_SONIFICATION or // STRATEGY_ENFORCED_AUDIBLE, AUDIO_DEVICE_NONE otherwise devices.add(devices2); // If hdmi system audio mode is on, remove speaker out of output list. if ((strategy == STRATEGY_MEDIA) && (getForceUse(AUDIO_POLICY_FORCE_FOR_HDMI_SYSTEM_AUDIO) == AUDIO_POLICY_FORCE_HDMI_SYSTEM_AUDIO_ENFORCED)) { devices.remove(devices.getDevicesFromType(AUDIO_DEVICE_OUT_SPEAKER)); }
这段代码看起来像是一个 Android 系统的音频输出设备选择器,它会根据一定的优先级选择可用的音频输出设备。其中,优先级最高的是有线设备(Wired),其次是 A2DP,然后是 HDMI 和 SPDIF,最后是扬声器(Speaker)。其中,如果策略是媒体播放(STRATEGY_MEDIA),则会考虑 ARC 和 AUX_LINE 这两种设备。另外,如果开启了 HDMI 系统音频模式(HDMI_SYSTEM_AUDIO_ENFORCED),则会将扬声器设备从输出列表中移除。
ERROR: JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64/jre/bin/java does not exist.
This error message indicates that the specified JAVA_HOME environment variable points to a location that does not exist on the system. In this case, the path "/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64/jre/bin/java" does not exist.
To resolve this error, you can check the actual path of the Java installation on your system and update the JAVA_HOME environment variable accordingly. Alternatively, you can install the required version of Java or update the existing installation to the correct version.