You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android环境下Buildozer打包ffpyplayer音频播放失败问题咨询

安卓端Kivy MP3播放器加载失败解决方案

权限相关调整

  • 安卓13及以上系统废弃了READ_EXTERNAL_STORAGE权限,读取公共目录音频需要额外申请READ_MEDIA_AUDIO权限,两个权限同时配置才能兼容全版本安卓系统
  • 权限申请放在导入语句之后的逻辑是合理的,不需要调整到更早位置,但要确保权限申请通过后再执行音频加载操作,不要发起权限申请后立刻调用SoundLoader,此时还未拿到存储访问权限会直接加载失败。

ffpyplayer适配修复

桌面端正常安卓端失效大概率是ffpyplayer打包配置问题:

  1. 确保环境变量设置顺序正确,必须在导入kivy音频模块之前设置KIVY_AUDIO:
import os
os.environ['KIVY_AUDIO'] = 'ffpyplayer'
# 后导入kivy音频相关模块
from kivy.core.audio import SoundLoader
  1. 检查打包配置(以buildozer为例),确保ffpyplayer版本足够新,且没有裁剪MP3解码依赖:
# buildozer.spec配置项
requirements = python3,kivy,ffpyplayer>=4.5.0
android.permissions = READ_EXTERNAL_STORAGE, READ_MEDIA_AUDIO

部分默认编译的ffpyplayer安卓二进制包会裁剪非必要编码,若仍报错可重新编译ffpyplayer开启MP3解码支持。

路径校验

安卓端文件路径规则与桌面端不同,不要使用硬编码的绝对路径,需通过android.storage模块获取对应存储区域的真实路径,路径错误也会导致加载器无法识别文件格式,抛出找不到loader的警告。

内容的提问来源于stack exchange,提问作者Omid Ketabollahi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 20:15:03