Kivy & Buildozer:如何在 Android 应用程序加载时播放音频?

Kivy & Buildozer: How to play audio while Android Application is loading?

有没有办法在 Android 设备上 运行 加载 Kivy 应用程序时播放音频?即在 buildozer.spec 文件中定义的 presplash 图像 显示在屏幕上时播放音频。

没有预建的方法来做到这一点。可以通过编辑 Java 管理应用程序加载的代码来实现,在设置预启动图像的同一位置。

正如@inclement 回答的那样,这是通过编辑显示预启动图像时执行的 Java 代码实现的。方法很简单。

  1. 在 Android Studio 中打开使用 Buildozer 创建的 Android 项目。
  2. 在主要 activity 的 PythonActivity 的 onCreate() 方法中添加播放音频的代码,或者在应用程序加载时用于显示预启动图像的 showLoadingScreen() 方法中添加音频播放代码.

下面是修改后的 onCreate() 方法,用于通过传递其在设备中的位置来播放音频:

@Override
protected void onCreate(Bundle savedInstanceState) {
    Log.v(TAG, "My oncreate running");
    resourceManager = new ResourceManager(this);

    Log.v(TAG, "About to do super onCreate");
    super.onCreate(savedInstanceState);
    Log.v(TAG, "Did super onCreate");

    this.mActivity = this;
    Toast.makeText(this, "Working on the Kivy Project in Android Studio", Toast.LENGTH_LONG).show();
    this.showLoadingScreen();

    new UnpackFilesTask().execute(getAppRoot());
    MediaPlayer music = new MediaPlayer();
    try {
        music.setDataSource("/storage/emulated/0/music.mp3");
        music.prepare();
        music.start();
    } catch (IOException e) {
        e.printStackTrace();
    }
}