【发布时间】:2017-02-16 10:19:55
【问题描述】:
我一直在想,如何在 Android 中通过 USB 捕获音频输入。
我的场景是通过外部硬件接收音频并通过 android 应用播放接收到的音频。此传输将通过 USB 完成。
有没有办法使用 Android SDK / Android NDK 来做到这一点。
任何建议都会对我有所帮助。
任务完成 Right by time I am able to interact with Hardware using CDC class and also able to play some random noisy audio through USB in my app. Neither I am able to get clear sound by that approach, nor there is consistency within the transmission of audio.
谢谢。
问候,维韦克
【问题讨论】:
-
您使用的外部硬件是什么?是 USB 耳机还是其他音频设备?还是你自己的硬件?如果是后者,那么其中使用的 USB 芯片/软件是什么?由于您的问题并未显示您对 USB 的理解程度,因此了解这些内容很重要,以确保答案与您正在做的事情一致。
-
我正在尝试通过我的 android 应用程序获取 FM 广播音频。这里 FM 收音机是一个芯片,将连接到 android 设备的 USB 端口。更多参考:play.google.com/store/apps/…
-
好的。如果您不自己实现 USB 加密狗,而是使用一些现有的硬件(例如adafruit.com/product/1497),那么找出设备包含的 USB 类并为它们实现(或希望只是使用)驱动程序非常重要。查找有关加密狗信息的一种方法是将其插入 Windows PC 并使用例如这个:nirsoft.net/utils/usb_devices_view.html 或这个:msdn.microsoft.com/en-us/library/windows/hardware/… 来发现它实现的设备类。很可能有音频类。
-
实际上我在 Android 端找不到任何 USB 音频类实现,即什么音频类回调用于从硬件等接收音频数据?
-
如果在那个级别上工作,你可能需要去 NDK。我认为,只有当 Android 将您的加密狗检测为音频设备时,您才能使用 Java 级别。如果加密狗没有在此处“主机模式”下列出的内容:source.android.com/devices/audio/usb.html,默认情况下不支持。
标签: android usb usb-drive usbserial cdc