LibGDX - как удалить файлы с устройства ANDROID после назначения в Gdx.audio.newMusic (); - PullRequest
0 голосов
/ 09 января 2019

Да, я не могу удалить этот файл с устройства Android только потому, что он был присвоен Gdx.audio.newMusic ()

Если я хочу удалить файл, обычно я могу сделать это безопасно, но если я назначу его через Gdx.audio.newMusic () , то я больше не смогу удалить его.


(это кусок кода, работающий на 100%)

public class TEST_Android
{
    public static Music M = null;

    // *** Test: Delete-file WITHOUT assignment ***
    //
    public void TEST_A()
    {
        Gdx.files.local("PurpleRain.ogg").delete();                // work 100%
        //
        // --- i've checked the file on Android mobile and is NOT present
        // --- has been deleted correctly
    }



    // *** Test: Delete-file AFTER assignment ***
    //
    public void TEST_B()
    {
        M = Gdx.audio.newMusic(Gdx.files.local("PurpleRain.ogg")); // work 100%
        M.play();                                                  // work 100%
        M.stop();                                                  // work 100%

        M.delete();                                                // doesn't work!
        //
        // --- i've checked the file on Android mobile and is ever present!
        // --- not deleted...
    }
}

  • Цель - мне нужно удалить файл после назначения (каким-то образом)

  • Вопрос - как я могу удалить файл после присвоения ему Gdx.audio.newMusic () ? В конце концов, если я должен был отключить это, как я должен сделать?

Не могли бы вы помочь мне, пожалуйста? Спасибо всем

1 Ответ

0 голосов
/ 09 января 2019

В классе Music нет метода удаления, поэтому, очевидно, вы не можете вызвать его. Вы можете попробовать вызвать метод #dispose и удалить его с помощью Gdx.files.local("PurpleRain.ogg").delete();, который может или не может работать.

Это кажется странным, но вы уверены, что хотите удалить файл?

...