如何使用python/kivy在iOS和Android上传输实时麦克风数据?

2024-06-01 13:56:31 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试创建跨平台的kivy应用程序,将录制和播放音频作为功能的一部分。我用pyaudio处理一切,在运行Linux的笔记本电脑上录制和播放音频效果很好。尝试使用buildozer将我目前拥有的东西上传到我的Android手机上,应用程序立即退出,查看日志显示它无法安装pyaudio。做了一些研究,显然目前还没有办法在Android上运行pyaudio。尝试使用模块sounddevice替代,得到了相同的问题。我在PyPI上找到了另一个模块,名为sound,文档在这里:http://omz-software.com/pythonista/docs/ios/sound.html#module-sound

查看文档表明它可以在iOS上运行,但是查看PyPI上的包表明它仍然处于开发的早期阶段,在python shell中尝试它表明大多数函数仍然缺失。对于Android,我知道我可以使用pyjnius来录制和播放Android Java函数的音频,也可以使用plyer,但我不知道是否有一种等价于pyjnius的方法来调用Swift而不是Java For iOS。Plyer也不能在iOS上使用音频i/o。然而,我确实找到了pyobjus来调用Objective-C,还有一些here,我不明白。我真的不想维护多个代码库,这就是为什么我首先使用kivy的原因。最坏的情况是,我有多个代码库,我学习iOS的Swift和Android的Dart。有人知道在Android和iOS上用python录制和播放音频的最佳方法吗

编辑:

this存储库上的plyer/pyobjus功能进行了更多的研究。此人添加了一个iOS音频实现,与之前在plyer中包含的android版本非常相似,这很好。具体到我的项目,我需要在手机上使用录制和播放麦克风流的音频。例如,有人对着他们的手机讲话,他们的声音在其他地方播放。我还找到了this


Tags: 模块函数文档功能pypi应用程序音频android