首页 > 解决方案 > 在 Python/Kivy 中,audio_ffpyplayer 不能在 android 上播放

问题描述

所以我想使用audio_ffpyplayer而不是audio_sdl2. 当我将其转换为apkwith时,在 pc 上的声音效果很好buildozer,在手机(android)上音频不起作用。应用程序正在运行,但没有播放音频。我想在单击按钮时播放音频。这只是“按钮点击音效”。这是我的python代码:

import os
os.environ["KIVY_AUDIO"] = "ffpyplayer"
import kivy
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.button import Button
from kivy.core.audio import SoundLoader

class MainWidget(FloatLayout):

    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.path = "sounds/click_effect.wav"
        self.song = SoundLoader.load(self.path)

    def music_play(self):
        click = SoundLoader.load(self.path)
        if click:
            click.play()

class MyApp(App):
    pass

myapp = MyApp()
myapp.run()

这是我的kivy代码:

MainWidget:

<MainWidget>:

    Button:
        text: "Click"
        on_press: root.music_play()

这是我的buildozer.spec(我最近添加了jnius。有人在这个网站上告诉我使用它。有或没有jnius它仍然不起作用):

# (list) Source files to include (let empty to include all the files)
source.include_exts = py,png,jpg,kv,atlas,wav 

#source.include_patterns = assets/*,images/*.png
source.include_patterns = sounds/*.wav

# comma separated e.g. requirements = sqlite3,kivy
requirements = python3,kivy==2.0.0,ffpyplayer,jnius

调试错误:

[WARNING] [Audio ] Unable to find a loader for </data/data/org.test.test/files/app/sounds/click_effect.wav>

标签: pythonkivy

解决方案


推荐阅读