如何在没有HDMI的情况下连接Android设备的扬声器



我有一个android应用程序,可以在手机上正常输出声音。我还把它放进了安卓设备中,可以通过HDMI电缆听到电视上的音频。我还有一个android的东西应用程序,它可以移动伺服,并可以在电视上播放音频,也可以按预期工作。

我不能做的是从音频插孔获取音频,这将是我的首选,因为我想要没有显示器的东西。

我有很多logcat条目,说一切正常,声音没有故障,但除此之外,我不能排除是关闭了操作系统功能(发行说明中没有提及),还是需要调整到config.txt,是我需要额外的代码行,还是它被静音。

我想音频根本没有进入插孔。我知道Raspberry pi 3 b音频插孔也可以播放视频,我尝试过使用它的每一个引脚组合,但都没有成功,既使用了电缆分离器,也将电缆直接放在了板上连接器的引脚上。我还假设板下的一个裸露引脚只携带音频。尽管我很感激有人能澄清哪个有左/右通道,即使在Raspbian或其他操作系统上进行了测试。

如以下日志所示,音频焦点正常,SoundPool.play从不返回0(如RESULT === 8行所示):

02-04 02:08:28.617 694-1722/com.example.androidthings.simplepio I/SoundEngine: Ask for focus
02-04 02:08:28.653 408-822/system_process I/MediaFocusControl:  AudioFocus  requestAudioFocus() from uid/pid 10025/694 clientId=android.media.AudioManager@f4664becom.example.androidthings.simplepio.audio.SoundEngine$1@c9ef91f req=3 flags=0x0
02-04 02:08:28.654 694-1722/com.example.androidthings.simplepio I/SoundEngine: Ask for focus and GOT it
02-04 02:08:28.655 694-1722/com.example.androidthings.simplepio W/SoundEngine: ********* RESULT === 8
02-04 02:08:28.656 408-420/system_process I/MediaFocusControl:  AudioFocus  abandonAudioFocus() from uid/pid 10025/694 clientId=android.media.AudioManager@f4664becom.example.androidthings.simplepio.audio.SoundEngine$1@c9ef91f
02-04 02:08:28.656 694-1722/com.example.androidthings.simplepio I/SoundEngine: release focus

如Raspberry Pi覆盖文档中所述

2)板载模拟音频输出使用两个PWM通道

因此,您不能使用PWM来驱动伺服并同时通过板载音频播放声音。

有几种选择是可能的:

  • 尝试开发者预览版2中宣布的USB音频支持
  • 提交功能请求以在外围IO API中添加对I2S的支持

我在将音频发送到AUX端口时遇到了同样的问题,而HDMI端口仅用于视频输出。

但是,对我有效的解决方案是,我首先将我的AndroidThings应用程序部署到RasPi上,并连接AUX端口来测试音频,然后连接HDMI来测试视频。在这个序列中,所有的东西都工作,既有来自AUX端口的音频,也有来自HDMI的视频。

最新更新