如何在没有 HDMI 的情况下为 Android 设备连接扬声器
How to connect speakers for Android Things without HDMI
我有一个 android 应用程序可以在 phone 上正常输出声音。我还将它放入 android 设备中,可以通过 HDMI 电缆在电视上听到音频。我还有一个 android things 应用程序,它可以移动伺服系统并可以将音频播放到电视上,也能按预期工作。
我不能做的是从音频插孔获取音频,这是我的首选,因为我想要没有显示器的东西。
我有很多 logcat 条目说一切正常并且声音没有失败,但除此之外我不能排除它是否关闭了 OS 功能(没有在发行说明中提到),需要调整到 config.txt 的东西,无论我需要额外的代码行,还是静音。
我假设音频根本没有到达插孔。我知道 Raspberry pi 3 b 音频插孔也可以传输视频,我尝试使用电缆分线器和将电缆直接放在连接器的针脚上,但没有成功地接入其针脚的每个组合木板。我还假设电路板下方的一个裸露引脚仅传输音频。虽然如果有人能澄清哪个有左/右声道,我将不胜感激,即使在 Raspbian 或其他 OSs.
上进行了测试
如以下日志所示,音频焦点正常并且 SoundPool.play 从不 return 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@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@c9ef91f
02-04 02:08:28.656 694-1722/com.example.androidthings.simplepio I/SoundEngine: release focus
正如 Raspberry Pi overlay documentation
中指出的那样
2) The onboard analogue audio output uses both PWM channel
所以您不能使用 PWM 来驱动舵机并同时通过板载音频播放声音。
可能有几个选项:
- 尝试 Developer Preview 2
中宣布的 USB 音频支持
- 文件 a feature request 在外设 IO API 中添加对 I2S 的支持。
我在连接 HDMI 端口仅用于视频输出时将音频发送到 AUX 端口时遇到了同样的问题。
但是,对我有用的解决方案是,我首先将我的 AndroidThings 应用程序部署到 RasPi 上并连接 AUX 端口以测试音频,然后我连接 HDMI 以测试视频输出。在这个序列中,一切都适用于来自 AUX 端口的音频和来自 HDMI 的视频。
我有一个 android 应用程序可以在 phone 上正常输出声音。我还将它放入 android 设备中,可以通过 HDMI 电缆在电视上听到音频。我还有一个 android things 应用程序,它可以移动伺服系统并可以将音频播放到电视上,也能按预期工作。
我不能做的是从音频插孔获取音频,这是我的首选,因为我想要没有显示器的东西。
我有很多 logcat 条目说一切正常并且声音没有失败,但除此之外我不能排除它是否关闭了 OS 功能(没有在发行说明中提到),需要调整到 config.txt 的东西,无论我需要额外的代码行,还是静音。
我假设音频根本没有到达插孔。我知道 Raspberry pi 3 b 音频插孔也可以传输视频,我尝试使用电缆分线器和将电缆直接放在连接器的针脚上,但没有成功地接入其针脚的每个组合木板。我还假设电路板下方的一个裸露引脚仅传输音频。虽然如果有人能澄清哪个有左/右声道,我将不胜感激,即使在 Raspbian 或其他 OSs.
上进行了测试如以下日志所示,音频焦点正常并且 SoundPool.play 从不 return 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@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@c9ef91f
02-04 02:08:28.656 694-1722/com.example.androidthings.simplepio I/SoundEngine: release focus
正如 Raspberry Pi overlay documentation
中指出的那样2) The onboard analogue audio output uses both PWM channel
所以您不能使用 PWM 来驱动舵机并同时通过板载音频播放声音。
可能有几个选项:
- 尝试 Developer Preview 2 中宣布的 USB 音频支持
- 文件 a feature request 在外设 IO API 中添加对 I2S 的支持。
我在连接 HDMI 端口仅用于视频输出时将音频发送到 AUX 端口时遇到了同样的问题。
但是,对我有用的解决方案是,我首先将我的 AndroidThings 应用程序部署到 RasPi 上并连接 AUX 端口以测试音频,然后我连接 HDMI 以测试视频输出。在这个序列中,一切都适用于来自 AUX 端口的音频和来自 HDMI 的视频。