我意识到基于kivy API向kivy app添加声音会导致一些严重的帧速率破坏。从我所知道的,声音没有缓冲或任何它只是在原始播放。一时间,使用python线程为kivy声音创建缓冲区的想法进入我的脑海,然后我就像是" nah ..."我只会使用pygames sound mods。
在虚拟Linux Ubuntu 64系统下,我输入命令:sudo apt-get install python-pygame。
我已经在系统上安装了python 2.7。我可以看到添加了pygame 1.9.1(这就是我需要的)。
在我的buildozer.spec文件中,我将pygame作为一项要求与kivy一起添加。
然后我构建了一个测试apk,安装在我的Android设备上,由于某种原因,日志文件告诉我应用程序找不到"混音器"模块,由pygame提供。
那么我做错了什么?是否有其他方法可以将pygame添加为一个模块,buildozer可以在运行时将其处理为可用模块?
更新==== 2017年3月24日======================================= ==============
我决定使用SoundLoader问题的解决方法。
from kivy.core.audio import SoundLoader
from kivy.core.audio.audio_sdl2 import SoundSDL2
NewSound = SoundSDL2(source='path_to_sound.wav')
我希望这种方法能在Android上播放,因为我还没有测试它。我注意到mp3文件无法与SoundSDL2一起播放或仅使用SoundLoader。这让我很担心,因为mp3文件对于Android设备来说很常见。关于wave文件的IDK ....
让我测试一下......