Как воспроизводить аудиофайлы прямо из tar-файла при программировании Android?

Я сжал большое количество аудиофайлов в один tar-файл.

Причина, по которой я использую tar-архив вместо zip-архива, заключается в том, что даже если он загружен не полностью, его файлы будут открываться, пока они были загружены.

Можно ли настроить zip-архив, как tar-архив, чтобы его можно было открывать, даже если он загружен не полностью?

Если ответ отрицательный, как воспроизводить аудиофайлы непосредственно из tar-файла?

Мне удалось воспроизвести аудиофайлы из zip-файла с помощью библиотеки ZipResourceFile, но, к сожалению, эта библиотека не поддерживает tar-архив:

ZipResourceFile expansionFile = new ZipResourceFile(getExternalFilesDir(null) + File.separator + obb_filename);
            AssetFileDescriptor afd = expansionFile.getAssetFileDescriptor(
                    (String) books_list.get(positiono).get("Sot")
            );
            if (afd != null) {
                player.setDataSource(afd.getFileDescriptor(),
                        afd.getStartOffset(), afd.getLength());
                afd.close();
                player.prepare();
                player.start();

            } else {
                player.stop();
            }

Неполные или поврежденные архивы невозможно открыть, поэтому все их содержимое нечитаемо. Я думаю, что только несколько типов кодеков СПЕЦИАЛЬНОГО сжатия могут позволить открывать свои архивы, даже если они неполные / поврежденные, но их степень сжатия может быть ограничена. Однако "ZipResourceFile" просто распаковывает файлы в памяти, поэтому настоящий "PLAY" использует in-memory вместо сохранения, если в хранилище .... но это почти то же самое, чтобы сохранить его в папку Temp, а затем воспроизвести обычный сохраненный файл .

emandt 02.04.2021 18:45
0
1
25
0

Другие вопросы по теме