10

我正在尝试创建双屏设置。Android 平板电脑 (Nexus 10) 使用 HDMI 连接到另一个屏幕。

在平板电脑上播放电影(使用 VLC 或其他应用程序)时,它会在两个屏幕上正常显示。
但是,音频信号仅通过 HDMI 传输。使用SOUNDAbout 应用程序,我们设法在耳机或 HDMI 上进行音频输出

我看不到同时为两个设备设置音频输出的功能。我尝试使用音频管理器进行设置,但它仅适用于一个通道。

AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

am.setSpeakerphoneOn(true);
am.setWiredHeadsetOn(true);

我注意到的另一件事是 setParameters API,它将变量传递给平台音频系统。那可能是ALSA,也许解决方案在那里?

4

1 回答 1

3

没有办法以保证在所有 Android 设备上工作的方式做到这一点。这里的问题是,平台通常缺少任何类型的 HDMI+Speaker 或 HDMI+Headset 组合设备(即描述单个输出流到 HDMI 和其他目的地的低级路由的音频设备)。不一定有任何硬件限制,但它根本不是您通常想要使用的路线,因此尚未添加。

我从来没有遇到过一个平台,可以同时为任何流类型选择 HDMI 和有线耳机。在某些平台上,可以为 RING 和 ALARM 流类型选择 HDMI + 扬声器,但如果平台缺少组合设备来实现路由决策,您仍然只能在HDMI 或扬声器中获得音频。
看看这段代码,看看我的意思。这就是使用 Qualcomm 平台的 OEM 大量基于其代码的原因。这段特定的代码所做的是为特定的流选择一个低级的输出路径。在您的情况下,它会看到 HDMI (AUX_DIGITAL) 可用,因此它会选择 HDMI“用例”(对应于类似的内容)并立即返回。

于 2012-12-28T11:19:54.020 回答