kivy android AttributeError:“ NoneType”对象没有属性“ play”

时间:2020-08-07 17:42:41

标签: android python-3.x kivy buildozer

import kivy
from kivy.app import App
from kivy.uix.button import Label
from kivy.core.audio import SoundLoader

class HelloApp(App):
    def build(self):
        self.sound = SoundLoader.load('back.mp3') # open the background music
        self.sound.play() # play the sound
        return Label(text='>>>>>')
if __name__=="__main__":
    HelloApp().run()

这是我的代码,在Linux上可以正常工作 但是当我尝试通过buildozer使apk 该应用程序在启动时崩溃 然后logcat命令给出了

[警告] [音频]无法找到的加载器 :回溯(最近一次通话过去): :文件“ /home/moh/audio2/.buildozer/android/app/main.py”,第15行 :文件“ /home/moh/audio2/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/myapp/kivy/app.py”,第829行,正在运行 在构建中,文件“ /home/moh/audio2/.buildozer/android/app/main.py”,第9行 AttributeError:“ NoneType”对象没有属性“ play” 适用于Android的Python已结束。

2 个答案:

答案 0 :(得分:0)

NoneType表示您的函数调用失败或返回了意外结果。

就您而言,

self.sound希望加载mp3文件,当self.sound.play()调用该文件时,该文件未获取或返回了意外的结果

答案 1 :(得分:0)

我找到了解决方案 问题出在音频文件扩展名中,当我将mp3文件转换为wav扩展名时,由于某种原因mp3文件无法正常工作 另外wav关键字必须在buildozer初始化中