耳机和扬声器电话同时输出音频

Seb*_*oth 8 android

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

在平板电脑上播放电影(使用VLC或其他应用程序)时,它将在两个屏幕上正确显示.
但是,音频信号仅通过HDMI传输.使用的SOUNDabout应用我们设法对音频输出或者耳机或HDMI.

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

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

am.setSpeakerphoneOn(true);
am.setWiredHeadsetOn(true);
Run Code Online (Sandbox Code Playgroud)

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

Mic*_*ael 3

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

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