【问题标题】:Kivy & Buildozer: How to play audio while Android Application is loading?Kivy & Buildozer:如何在 Android 应用程序加载时播放音频?
【发布时间】:2018-12-06 11:29:29
【问题描述】:

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

【问题讨论】:

    标签: android python audio kivy buildozer


    【解决方案1】:

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

    【讨论】:

    • 谢谢。这是我一直在想的,我会努力去做的。如果您能指导我在 Java 代码中播放音频的确切位置会更好。
    【解决方案2】:

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

    1. 在 Android Studio 中打开使用 Buildozer 创建的 Android 项目。
    2. 在作为主要活动的 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();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-16
      • 2015-06-11
      • 1970-01-01
      • 2012-07-06
      • 2014-11-05
      相关资源
      最近更新 更多